2012-01-05 103 views
2

我在重写某个URL时遇到了问题。重写网址

我正在做一些网站移动,Google的索引中仍旧有一些旧网址,它会抓取我希望重定向到新网页的网址。我想在查询字符串和重定向之前做一个查询字符串条之前,我想知道如果你可以先在mod_rewrite中完成此操作?我目前在我的.htaccess中有这个,但它不起作用。

RewriteRule ^news.php?action=view&title=(.*) /blog.php?article_keyword=$1 [L] 

环境就是Linux和Apache

+1

你不能做这种方式 - 'RewriteRule'不直接查询字符串的工作 - 只RewriteCond'的'帮助。 – LazyOne 2012-01-05 18:32:36

回答

0

使用此代码在您的.htaccess:

Options +FollowSymLinks -MultiViews 
RewriteEngine on 

RewriteCond %{QUERY_STRING} ^action=view&title=(.*)$ [NC] 
RewriteRule ^news\.php/?$ /blog.php?article_keyword=%1 [L,R=301,NC] 
+0

感谢这工作就像一个魅力! – Kenny 2012-01-05 19:15:59

0

你不能做这种方式 - RewriteRule不直接查询字符串的工作 - 只与RewriteCond帮助:

RewriteCond %{QUERY_STRING} ^action=view&title=(.*) 
RewriteRule ^news.php$ /blog.php?article_keyword=%1 [R=301,L] 

我我们添加了R=301标志来发布永久性重定向,因此Google会知道旧网址不再被使用,而应该使用新的网址。如果你不需要这样的重定向,那么移动它,只留下L标志。