我想通过htaccess对PHP网站使用mod重写。
网址结构如下:
example.com/ex.php?ez=DF004AE
必须成为:
example.com/ex/DF004AE.htm
为了做到这一点,要添加到我的.htaccess的正确脚本是什么?
答案 0 :(得分:2)
使用此:
RewriteEngine On
RewriteRule ^ex/([^/]*)\.htm$ /ex.php?ez=$1 [L]
它将为您提供以下网址:
example.com/ex/DF004AE.htm
如果你的意思是.html(不是.htm)只需在RewriteRule中添加l。
答案 1 :(得分:2)
您可以使用以下规则:
RewriteEngine on
# Redirect from "/ex.php?ez=foobar" to "/ex/foobar.htm"
RewriteCond %{THE_REQUEST} /ex\.php\?ez=([^\s]+) [NC]
RewriteRule ^ /ex/%1.htm? [L,R]
####################
# internally map "/ex/foobar.htm" to "/ex.php?ez=foobar"
RewriteRule ^ex/([^.]+)\.htm$ /ex.php?ez=$1 [NC,L]
这会将/ex.php?ez=foobar
转换为/ex/foobar.htm
。
答案 2 :(得分:1)
RewriteEngine On
RewriteRule ^ex/([^/]*)\.html$ /ex.php?ez=$1 [R=301,NE,L]
如果您不希望地址栏反映此更改,请删除R = 301。 NE参数用于确保请求不会被转义。