.htaccess:根据访问的网址重定向

时间:2011-01-05 17:24:53

标签: apache .htaccess redirect

我希望在我的.htaccess中,根据用户访问的内容将用户重定向到另一个网址。

在这种情况下,http://example.com/awesome.comhttp://awesome.com是同一个网站,如果用户正在访问http://example.com/awesome.com,我希望他或她被重定向到http://awesome.com

这可行吗?

编辑:在答案的帮助下,我提出了这个有效的解决方案:

RewriteEngine on
RewriteCond %{HTTP_HOST} !^awesome.com$
RewriteRule ^(.*)$ http://awesome.com/$1 [R=301]

5 个答案:

答案 0 :(得分:1)

你可以使用mod_rewrite(apache2 module)

这是我使用的.htaccess,用于从我的旧域重定向到我的新域(同时保持链接结构,例如www.domain1.com/link/linkb.html成为www.domain1。 gr /link/linkb.html)

RewriteEngine On
RewriteCond %(www\.)?domain1\.com$ [NC]
RewriteRule .* http://www.domain1.gr%{REQUEST_URI} [R=301,L]

google mod_rewrite了解更多信息(语法等)

答案 1 :(得分:0)

不完全确定.htaccess,但您可以在404页面上使用服务器代码来适当地重定向它们;通过这种方式,您可以收集统计信息,设置工具栏或您可能想要执行的任何其他操作。

答案 2 :(得分:0)

.htaccess是关于授权,而不是重定向。我建议您查看Apache(或您正在使用的任何Web服务器)的重定向支持,这更适合此问题,并确保您的.htaccess /授权与目标一致。

答案 3 :(得分:0)

这条规则应该这样做:

RewriteRule ^awesome\.example(/.*)?$ http://www.awesome.example$1 [R=301,L]

答案 4 :(得分:0)

检查重定向& apache中的RedirectMatch选项。对于简单的情况,和你的一样,它比mod_rewrite更简单。

Redirect /awesome.com http://ww.awesome.com

 Redirect permanent /awesome.com http://ww.awesome.com

现在,如果exam​​ple.com和awesome.com位于同一个apache服务器和同一个虚拟主机上,那么你可能会将命名库虚拟主机的东西搞砸,你可能会尝试制作比简单命名的基础虚拟主机更复杂的东西定义