过去几个小时,我正在尝试使用.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测试它是否有效!
有什么建议吗?!
谢谢!
答案 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]