我想将Apache Web服务器移动到ngnix webserver,但我如何将这些Apache规则更改为ngnix。 我在我的主站点有一个.htaccess文件,在子目录中有一个文件
主站点.htacess
上的RewriteEngineRewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/index.php
RewriteRule ^(.*)$ zzz.php?hash=$1 [L]
</IfModule>
在子目录.htacess rules
中<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/index.php
RewriteRule ^(.*)$ host.php?hash=$1 [L,QSA,NC]
</IfModule>
答案 0 :(得分:0)
不要在nginx中使用重写规则,try_files要快得多:
try_files $uri $uri/ /index.php$is_args$args;
您当然可以根据需要设置任意数量的项目并更新脚本名称,例如:
try_files $uri $uri/ /$uri.php$is_args$args; /index.php$is_args$args =404;
可用于nginx配置的服务器或位置部分: http://nginx.org/en/docs/http/ngx_http_core_module.html#try_files
Nginx没有.htaccess
之类的东西