自定义301使用.htaccess从旧的joomla(mambo)网站重定向到新的drupal 7网站

时间:2013-03-20 20:54:36

标签: .htaccess drupal-7

过去几个小时,我正在尝试使用.htaccess文件创建自定义重定向,从旧的mambo网站到新的drupal 7网站,该文件存在于我的drupal根目录中。 我想做的是......

301重定向

http://mysite.com/index.php?option=com_content&task=blogsection&id=11&Itemid=54

http://mysite.com/this-is-the-new-page

这是我的.htaccess文件......

RewriteEngine on

RewriteRule ^index.php?option=com_content&task=blogsection&id=11&Itemid=54$ http://mysite.com/this-is-the-new-page [R=301,L]

RewriteRule "(^|/)\." - [F]

RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ http://%1%{REQUEST_URI} [L,R=301]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^ index.php [L]

我确信这与这条线有关...

RewriteRule ^ index.php [L]

但我不明白! 你看我是否用这个......

RewriteRule ^option=com_content&task=blogsection&id=11&Itemid=54$ http://mysite.com/this-is-the-new-page [R=301,L]

而不是......

RewriteRule ^index.php?option=com_content&task=blogsection&id=11&Itemid=54$ http://mysite.com/this-is-the-new-page [R=301,L]

并使用firefox和LiveHTTP Headers测试它是否有效!

有什么建议吗?!

谢谢!

1 个答案:

答案 0 :(得分:1)

查询字符串不是URL path pattern的一部分。如果要基于查询字符串建立规则,则必须在RewriteCond

中执行此操作
RewriteEngine on
RewriteCond %{QUERY_STRING} option=com_content&task=blogsection&id=11&Itemid=54
RewriteRule ^index.php$ /this-is-the-new-page? [R,L]