私は非常に単純な書き換えを以前のnginxバージョンから現在のバージョンに以下のように変換しようとしています:
location / {
if ( !-f $request_filename ) {
rewrite ^/([a-z]*)$ /index.php?action=$1;
rewrite ^/([a-z]*)/(.*)$ /index.php?action=$1&item=$2;
}
}
これは私がどれだけ進んだかです。インデックスページが表示されますが、上記のように書き換える必要があるページは代わりに404をスローします。
server {
listen 80 default;
root /var/www;
index index.php;
server_name _;
location / {
try_files $uri $uri/ /index.php?action=$uri&item=$args;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
}
}
ここで何が悪いのですか?
正確に何が起こっているのですか?問題の一部は$ uriであり、$ argsが正しくエンコードされていません。
—
ルーク、
File not found. URIを使用した場合、/pageまたは/page/id
ちょうどあなたが行うとどうなります
—
ルーク、
try_files $uri $uri/ /index.phpか?
Index.phpは適切に動作しますが、書き換えが必要なものはすべて404で終わります
—
インダストリアル
お試しください
—
ルーク
try_files $uri $uri/ /index.php?$args。でURLを取得できるはず$_SERVER['REQUEST_URI']です。$ _GETは正常に動作するはずです。