Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex .htaccess基于querystring的重定向_Regex_Apache_.htaccess_Mod Rewrite - Fatal编程技术网

Regex .htaccess基于querystring的重定向

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]

我刚刚发布了一个新的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]

很接近,但请记住,
重写规则
语法是:

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]