【问题标题】:Specifically RewriteCond %{QUERY_STRING}特别是 RewriteCond %{QUERY_STRING}
【发布时间】:2013-07-29 00:02:48
【问题描述】:

您好,我有一个特殊的问题:我的任务是将 WP 页面 (page_id=2) 重定向到同一域上的页面 (about),但是当我使用字符串重定向时:

RewriteEngine On
RewriteCond %{QUERY_STRING} ^page_id=2$
RewriteRule ^(.*)$ http://example.com/about? [R=301,L] 

...它重定向所有位于站点上的pages page_id=2,例如

en/?page_id=2 , ok/?page_id=2 , en/ok/?page_id=2

有没有办法专门重定向“根”页面page_id=2 而让另一个保持原样?

如果将来我想将某些子页面(例如en/ok/?page_id=2)重定向到en/ok/about,该怎么办?

对不起,我的英语不好 - 如果我可以提供进一步的说明,请询问。

【问题讨论】:

  • 有人有什么建议吗? :(

标签: regex redirect mod-rewrite query-string


【解决方案1】:

需要根据请求URI添加重写条件:

RewriteEngine on
RewriteCond %{QUERY_STRING} ^page_id=2$
RewriteCond %{REQUEST_URI} ^/$
RewriteRule ^(.*)$ http://example.com/about? [R=301,L]

以后,当你想将about附加到所有页面时,你可以使用:

RewriteEngine on
RewriteCond %{QUERY_STRING} ^page_id=2$
RewriteRule ^(.*)$ http://example.com/$1/about? [R=301,L]

【讨论】:

    猜你喜欢
    • 2015-05-21
    • 2016-05-03
    • 1970-01-01
    • 2011-02-22
    • 1970-01-01
    • 2012-06-27
    • 2020-08-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多