htaccess重写规则不重定向?

时间:2015-09-13 20:52:06

标签: .htaccess redirect url-rewriting

我有以下重写规则,因为我的生活无法弄清楚为什么它不起作用,任何日志都没有错误,屏幕上没有显示任何内容,我很难过。

它需要会话令牌并将其传递给网址。

Options +FollowSymlinks
RewriteEngine On

RewriteRule ^/\?action=logout;(.*)$ /forum/index.php?action=logout;$1 [NC,L]

我也尝试过没有运气,没有错误或任何暗示问题的事情。

RewriteCond %{QUERY_STRING} ^action=logout
RewriteRule ^/\?action=logout;(.*)$ /forum/index.php?action=logout;$1 [L,R=301]

1 个答案:

答案 0 :(得分:1)

使用QUERY_STRING是一个好的开始 无论如何,您现在需要在规则中匹配//index.php

此外,由于您传递的是相同的查询字符串,因此无需捕获其中的一部分。您可以改为使用QSA标志。

RewriteCond %{QUERY_STRING} ^action=logout [NC]
RewriteRule ^/?(?:index\.php)?$ /forum/index.php [L,NC,R=301,QSA]

如果您想要静默重定向(内部重写),只需删除R=301标志

即可