0

我想为 nginx 翻译以下 apache htaccess 重写规则。

 RewriteCond %{REQUEST_FILENAME} -f [OR]
 RewriteCond %{REQUEST_FILENAME} -d
 RewriteRule ^(.+) - [PT,L]
 RewriteRule ^(.+) /index.php

任何想法如何做到这一点?

4

1 回答 1

0

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;
}
于 2013-03-12T00:12:34.567 回答