翻译nginx的htaccess重写规则

时间:2013-03-11 19:46:09

标签: .htaccess mod-rewrite url-rewriting nginx rewrite

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

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

任何想法怎么做?

1 个答案:

答案 0 :(得分:0)

apache重写规则清楚地解释in the other question,特别是针对非替换的特殊破折号“ - ”规则。这可以在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;
}