我在重写某个网址时遇到了问题。
我正在进行一些网站移动,Google仍然在其索引中有一些旧网址,它会抓取我想要重定向到新网页。在我对查询字符串和重定向执行查询字符串条带之前,我在想,我想知道你是否可以先在mod_rewrite中完成此操作?我目前在我的.htaccess中有这个,但它不起作用。
RewriteRule ^news.php?action=view&title=(.*) /blog.php?article_keyword=$1 [L]
环境是使用Apache的Linux
答案 0 :(得分:0)
你不能这样做 - RewriteRule
不能直接使用查询字符串 - 仅在RewriteCond
的帮助下:
RewriteCond %{QUERY_STRING} ^action=view&title=(.*)
RewriteRule ^news.php$ /blog.php?article_keyword=%1 [R=301,L]
我已添加R=301
标记以发出永久重定向,因此Google会知道旧网址已不再使用,而是应使用新网址。如果您不需要此类重定向,请移除它并仅留下L
标记。
答案 1 :(得分: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]