以下のnginxのapache htaccess書き換えルールを翻訳したいと思います。
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.+) - [PT,L]
RewriteRule ^(.+) /index.php
それを行う方法はありますか?
以下のnginxのapache htaccess書き換えルールを翻訳したいと思います。
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.+) - [PT,L]
RewriteRule ^(.+) /index.php
それを行う方法はありますか?
Apacheの書き換えルールは、他の質問、特に非置換の特別なダッシュ「-」ルールで明確に説明されています。これは、nginx のtry_filesディレクティブとして書き換えることができます。
あなたの質問には、空の文字列(ホームページ)のルールがリストされていません(空でない文字列(.+)のみがあります)。したがって、どこか別の場所のホームページに 1 つのルールがあると仮定します。nginxのルールは
location = / {
# your nginx rule matching the empty string (for your home page)
}
# all other locations try in the order: file => directory => index.php
location / {
try_files $uri $uri/ /index.php;
}