apache mod_rewrite get方法变量缺失

时间:2013-07-30 03:53:06

标签: .htaccess url-rewriting

我的mods_rewrite规则有问题。我目前在.htaccess文件中有这个。

<IfModule mod_rewrite.c>
RewriteEngine On

RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

我想通过该网站访问此网址。

http://domain.com/activate/?key=3459ae01bd5f5564a49a31ad373bf998

我知道它是第一个重写规则,因为我把它取出并激活了。你们能帮忙吗?

1 个答案:

答案 0 :(得分:1)

你不需要2个规则,它可能会破坏你的WordPress。

你可以试试这个:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^activate/$ /inddex.php [QSA,L]

RewriteRule ^index\.php$ - [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

在您的浏览器上,您将看到

http://domain.com/activate/?key=3459ae01bd5f5564a49a31ad373bf998

但内部会访问

http://domain.com/index.php?key=3459ae01bd5f5564a49a31ad373bf998

如果那就是您想要的,请告诉我。