私はNginxで新しく、私のプロジェクトではすべてのリクエストをリクエストハンドラであるindex.phpに書き直す必要があります。 Apacheで.htaccessファイルを使ってこれを行いましたが、Nginxと互換性を持たせたいと思っていました。私はNginx上でそれが存在しないことを知っています.htaccessファイルので、/ etc/nginx/sites-available/defaultの仮想ホストファイルを編集する必要がありますが、私は古いApacheルールに相当するNginxを知っていません。すべての要求は、これらは私のプロジェクトである(PHPスクリプト、静的ファイル、もしくは、存在しないファイルをしている場合は、どんなにをindex.phpに書き直されたApacheの上これによりNginxのPHPスクリプトへのすべてのリクエストを書き直してください
RewriteEngine On
RewriteBase/
RewriteCond %{REQUEST_URI} !/index\.php
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule ^([^?]*)$ /index.php [QSA,NS,L]
: はここに私の古い.htaccessファイルの内容です/ :: API /や/ :: ADMIN /とroot shorcut /〜/などのバーチャルパスもありますが、どうすればNginxでそれを行うことができますか?
あなたはQSAフラグを忘れてしまった:これはより多くのような何かを与える '/ index.phpを$ query_string' – Bobot
私は私のファイルでこれを持っている: 'サーバー{ 場所/ { \t \t書き換え^(。 *)$ /index.php$query_string last; \t} \t \t場所〜\ .php $ { try_files $ uri = 404; fastcgi_split_path_info ^(。+ \。php)(/.+)$; fastcgi_pass unix:/var/run/php7.0-fpm.sock; fastcgi_index index.php; にはfastcgi_paramsが含まれます。 \t} } しかし、私は502:悪いゲートウェイは、PHPスクリプトと仮想パス(存在しないファイル)で404が、私は間違って何か? – RyanJ
私の編集をチェックしてください。 Bob0tは、結果がどうなるかを言っていました。変更する必要はありません。 – Chazzu