我希望http://www.mywebsite.com/cd2012/legal而不是http://www.mywebsite.com/cd2012/index.php?legal=1
我试过了
Options +FollowSymLinks
RewriteEngine on
RewriteRule guarantees/(.*) cd2012/index\.php/legal=$1 [R=301,L]
RewriteRule guarantees cd2012/index\.php/legal=$1 [R=301,L]
RewriteRule ^guarantees/$ cd2012/index\.php/legal=$1 [R=301,L]
他们都没有工作。
答案 0 :(得分:2)
如果要重写,则不希望使用[R=301,L]
,因为这基本上意味着“告诉用户浏览器此文档永久移动到此位置”
你也不应该逃避最后的道路,因为它不是正则表达式。
相反,这样做(根据你的例子):
RewriteEngine on
RewriteRule ^cd2012/?$ cd2012/index.php
RewriteRule ^cd2012/(.*) cd2012/index.php?$1=1
答案 1 :(得分:1)
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^([a-zA-Z0-9]+)/$ index.php?$1=1 [L]
RewriteRule ^([a-zA-Z0-9]+)$ index.php?$1=1 [L]
</IfModule>
现在这对我来说是神奇的。
答案 2 :(得分:0)
试试这个:
RewriteEngine on
RewriteBase /
RewriteRule ^cd2012/legal$ cd2012/index.php?legal=1 [L]