求将apache的伪静态规则转换成nginx

这个伪静态规则目前只有apache的,我自己不知道怎么转换,求大神帮忙解决问题。小弟在此非常感谢!
# BEGIN
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /plus/htaccess/html.php [L]
</IfModule>
# END

第1个回答  推荐于2016-06-04
  RewriteEngine On
  RewriteRule ^/([a-z]+)/p_([0-9]+)\.html$ /list\.php\?id=$1
  以上为apache的伪静态规则。下面为转换后的nginx规则:
  rewrite ^/([a-z]+)/p_([0-9]+)\.html$ /list.php?id=$1 last;
  注意:apache后则不能直接使用点和问号,所以将/list\.php\?id=$1中的"\"去掉,即:/list.php?id=$1
  然后,将RewriteRule 换为 rewrite,并在在每条规则后加上”last;“
  这样逐条修改就完成了。
第2个回答  2015-04-09
location /
{
if (!-e $request_filename)
{
rewrite ^/(.*)$ /index.php?$1 last;
}
}

阁下的代码意在将路径中的index.php隐藏,同时还得保证像图像CSS等文件不被规则所限制,那么可参考我写的这个:

1

if (!-e $request_filename)//此句是指当访问的是URL不是一个切实存在的文件时,则执行下面的重写规则。

至少阁下还有一句:

1

RewriteCond %{REQUEST_URI} ^system.*

它的作用是什么?是要将system开头的URL都直接访问不经过重写规则还是禁止访问?本回答被网友采纳
相似回答