Regex .htaccess基于querystring的重定向
我刚刚发布了一个新的WorpAddress站点,它取代了一个旧的asp站点 当谷歌重新编制索引时,我被要求确保关键页面被重定向 例如: www.egmont.co.uk/default.asp?pageid=3需要转到 Google引导我构建了以下内容,但它不起作用,有人能告诉我为什么吗Regex .htaccess基于querystring的重定向,regex,apache,.htaccess,mod-rewrite,Regex,Apache,.htaccess,Mod Rewrite,我刚刚发布了一个新的WorpAddress站点,它取代了一个旧的asp站点 当谷歌重新编制索引时,我被要求确保关键页面被重定向 例如: www.egmont.co.uk/default.asp?pageid=3需要转到 Google引导我构建了以下内容,但它不起作用,有人能告诉我为什么吗 RewriteEngine on RewriteCond %{QUERY_STRING} pageid=3 RewriteRule /who-we-are/what-we-do/books/ [L,R=301]
RewriteEngine on
RewriteCond %{QUERY_STRING} pageid=3
RewriteRule /who-we-are/what-we-do/books/ [L,R=301]
很接近,但请记住,
重写规则
语法是:
RewriteRule <pattern-to-match-in-uri> <target-uri> <flags>
- 确保将此规则置于其他WP重写代码之前
- 一旦确认其正常工作,您可以将
更改为302
301
参考:很好的解释,+1。出于好奇,你为什么要在
/who
的开头使用/
,这是你个人的喜好吗?通常如果我使用R
标志,那么我会显式地使用leading/
,因为一些Apache版本在没有它的情况下会错误地失败。哈,我不知道!对于L
标志,您是否会使用前导/
?当没有R
标志时,我们可以省略前导/
,如下所示:我们是谁/我们做什么/书籍/?
在所有情况下使用RewriteBase
也更安全
RewriteEngine on
RewriteCond %{QUERY_STRING} ^pageid=3(&|$) [NC]
RewriteRule ^default\.asp$ /who-we-are/what-we-do/books/? [L,R=302,NC]