談談apache的htaccess偽靜態規則轉到nginx


上文講了htaccess轉iis的httpd.ini偽靜態規則

下面再談談如何把apache的htaccess規則轉到nginx下!

簡單舉個例子,如apache下的這樣一條偽靜態規則

RewriteRule  ^/([0-9]+)/?$ index.php?s=content/index/loupan&t=zhuye&catid=14&id=$1 [L]
RewriteRule ^/index.html?$ index.php?s=content/index/loupan&t=zhuye&catid=14&id=$1 [L]
轉換到nginx下后為下面這樣,其實改動還是很小的!

location / {
rewrite ^/([0-9]+)/?$ /index.php?s=content/index/loupan&t=zhuye&catid=14&id=$1 last;
rewrite ^/index\.html$ /index.php?s=content/index/loupan&t=zhuye&catid=14&id=$1 last;
}

但是apache下的RewriteCond寫法,在nginx下是不認的,這個改動比較大!

RewriteCond  %{QUERY_STRING}  keyword=(.*)
RewriteRule ^/list.html(.*) index.php?s=content/index/lists&catid=14&keyword=%1 [L]

if ($query_string ~ ^keyword=(.*)$) {
set $id_tmp $1;
rewrite "^/list.html$" index.php?s=content/index/lists&catid=14&keyword=$id_tmp permanent;
}

一定要注意上面if后面是有個空格的!




注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com