1

我想要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]

他们都没有工作。

4

3 回答 3

2

如果你想重写,你不想使用[R=301,L],因为这基本上意味着“告诉用户浏览器这个文档被永久移动到这个位置”

您也不应该逃避最终路径,因为它不是正则表达式。

相反,这样做(根据你的例子):

RewriteEngine on
RewriteRule ^cd2012/?$ cd2012/index.php
RewriteRule ^cd2012/(.*) cd2012/index.php?$1=1
于 2012-08-31T12:12:34.097 回答
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>

现在,这就是我的魔力。

于 2012-09-11T21:05:44.023 回答
0

试试这个 :

RewriteEngine on
RewriteBase /
RewriteRule ^cd2012/legal$ cd2012/index.php?legal=1 [L]
于 2012-08-31T13:28:00.817 回答