0

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

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 插件对其进行测试,它可以工作!

有什么建议么?!

谢谢!

4

1 回答 1

1

查询字符串不是URL 路径模式的一部分。如果要基于查询字符串建立规则,则必须在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]
于 2013-03-20T21:05:58.640 回答