我想为 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指令。
您的问题没有列出空字符串(主页)的规则(只有非空字符串 (.+))。所以我假设你在其他地方有一个主页规则。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;
}