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;“
这样逐条修改就完成了。
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都直接访问不经过重写规则还是禁止访问?