2013-07-29 25 views
2

你好,我有一个奇怪的问题:我的任务是将WP页面(page_id = 2)重定向到同一个域的页面(大约),但是当我使用字符串重定向时:特别是RewriteCond%{QUERY_STRING}

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

对不起,我的英语不好 - 如果我可以提供额外的说明,请提问。

+0

没有任何人有任何提示 ? :( –

回答

3

您需要添加基于请求URI重写条件:

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

在未来,当你要追加约到所有页面,则可以使用:

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

许多重定向。 –

相关问题