mod_rewrite - 检测 GET 请求 URL 并呈现 index.php

mod_rewrite - 检测 GET 请求 URL 并呈现 index.php

抱歉,这个问题有 1000000 个主题,但我已经尝试并搜索了几个小时,却什么也没找到。

基本上,我已经使用 mod_rewrite 允许某人输入 www.example.com/web/chat/tf/

这将转到 www.example.com/web/index.php?mode=chat&game=tf

但现在我需要阻止人们实际输入 GET 请求 URL(第二个),并将其设置为友好的 URL 以防止重复指针。所以实际上,如果有人输入 index.php?mode=

我希望它重新路由到简单的 index.php

这是我尝试过的方法(均无效)

RewriteCond %{QUERY_STRING} mode.*
RewriteRule .* index.php

RewriteRule ^index.php\?.*$ index.php

RewriteCond %{REQUEST_URI} mode.*
RewriteRule .* index.php

帮助?

答案1

我会用这样的东西:

RewriteCond %{QUERY_STRING} ^mode=
RewriteRule (.*) $1? [R=301,L]

对于给定的 URL:

http://www.example.com/web/index.php?mode=chat&game=tf

它将返回:

http://www.example.com/web/index.php

相关内容