我想使用Nginx Server而不是Apache。在我的.htaccess
文件中,我有这一行。
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^.*$ ./nice_urls.php
任何想法如何对Nginx起作用?
答案 0 :(得分:0)
Nginx没有开箱即用的.htaccess文件支持。
简单的方法是在vhost中使用nginx配置文件中的以下规则:
try_files $uri $uri/ /nice_urls.php?$args;
在Nginx上,try_files基本上是典型的mod_rewrite样式文件/目录存在检查的替代品。它应该比使用if更有效 - 见http://wiki.nginx.org/IfIsEvil
此外,您必须配置Nginx以将SCRIPT_FILENAME返回给您的应用程序。
如果你使用fastcgi,你必须检查fastcgi.conf以获得这一行:
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
如果该行不存在,请将其添加到fastcgi.conf或vhost配置文件中。