如何使用mod_rewrite从一个页面重定向到另一个页面?

时间:2010-06-03 11:57:43

标签: apache .htaccess mod-rewrite

网上的所有建议都说: 重写301 URL-A URL-B

但如果我在RewriteEngine上打开mod_rewrite(似乎?)

那将无效

所以,我不是一个正则表达式,但不应该在这里需要它。我该怎么做:

RewriteCond %{HTTP_HOST} ^untamed-adventures.com/travel/How/tabid/58/Default.aspx [NC] 

RewriteRule ^(.*)$ http://untamed-adventures.com/ [R=301,L]

2 个答案:

答案 0 :(得分:0)

一点也不清楚你要做什么。 HTTP_HOST是请求的URL中的主机名部分,在本例中为“untamed-adventures.com”,因此RewriteCond永远不会匹配。

认为你要做的是:

重定向301 /travel/How/tabid/58/Default.aspx http://untamed-adventures.com/

在这种情况下,根本不需要mod_rewrite。

答案 1 :(得分:0)

%{HTTP_HOST}扩展为请求的主机,因此永远不会与untamed-adventures.com/travel/How/tabid/58/Default.aspx匹配,只会untamed-adventures.com

如果您想将http://untamed-adventures.com/travel/How/tabid/58/Default.aspx转发至http://untamed-adventures.com/,请尝试以下操作:

RewriteCond %{HTTP_HOST} =untamed-adventures.com
RewriteRule ^/travel/How/tabid/58/Default.aspx$ http://untamed-adventures.com/ [R=301]

L标志是多余的;前锋总是最终的。