301从查询字符串重定向到简单URL

时间:2011-08-16 18:34:04

标签: linux http-status-code-301

我已经仔细查看了“301重定向”搜索结果的前十页,但是找不到答案,所以这里有...

我已经从一个糟糕的旧CMS转移到了那个没有给我的网页提供良好网址的网站,而且我想为我的关键网页设置301重定向。

当前网址:http://www.domain.com/?pid=22 新网址:http://www.domain.com/contact/

我正在使用Wordpress,我当前的htaccess文件如下所示:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

</IfModule>

任何帮助都会很棒!

2 个答案:

答案 0 :(得分:0)

试一试。您需要做的就是检查您是否在第X页,然后重定向到第Y页。将RewriteCond语句视为'if'语句。如果您需要更多重定向,只需复制最后两行并编辑路径。

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^www\.domain\.com\/?pid=22$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/contact [L,R=301]

答案 1 :(得分:0)

您必须检查查询字符串中“pid”变量中的值,然后重定向,如果该变量中的值与您要重定向的页面匹配。您可以使用“RewriteCond”和“RewriteRule”指令执行此操作:

RewriteEngine On
RewriteBase /

# Redirect pid=22 to http://www.domain.com/contact
RewriteCond %{QUERY_STRING} ^pid=22$
RewriteRule ^(.*)$ http://www.domain.com/contact [R=301,L]

您可以重复“RewriteCond”和“RewriteRule”指令来创建其他重定向。