我正在编写301重定向,无论我是在.htaccess中进行重定向,还是作为meta,javascript重定向,它们都可以工作,但将旧的url或目录附加到重定向的URL的末尾。
这就是我在.htaccess中所拥有的
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.bigcars.ca [NC]
RewriteRule ^(.*)$ http://support.ca/$1 [L,R=301]
redirect 301 /contact http://support.ca/mynewpage/pagename.html?somequeries
redirect 301 /contact.html http://support.ca/mynewpage/pagename.html?somequeries
除此之外,我已经尝试进入我想要重定向并放入元和/或javascript的contact.html页面(两者都工作但保留/联系到最后)但是没有一个完全给了我什么我想要。
每个方法都在不断进行重定向,但我总是在网址末尾留下/ contact或contact.html
帮助?
答案 0 :(得分:1)
您不得将Redirect
指令与mod_rewrite
指令混合使用。您可以使用:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(?:www\.)?bigcars\.ca$ [NC]
RewriteRule ^(.*)$ http://support.ca/$1 [L,R=301]
RewriteRule ^contact(?:\.html)?/?$ http://support.ca/mynewpage/pagename.html?somequeries [L,NC,R=301]