2011-07-21 76 views
0

我试图用.htaccess创建一些重定向,但我从来没有设法让它充分发挥功能。也许这里有人可以帮助我。域名.htaccess重定向问题

我需要的是:

  1. http://domain.sehttp://domain.com重定向到http://www.domain.com

  2. 我还需要http://domain.se/somefolderhttp://domain.com/somefolder以及http://www.domain.se/somefolder重定向到http://www.domain.com/folder

我试图自己做到这一点,但所有我最终都是关于数据未被发送的错误。

回答

1
Options +FollowSymLinks -MultiViews 
RewriteEngine On 
RewriteBase/

# folder rewrite 
RewriteRule ^somefolder$ folder [L] 

# domain redirect 
RewriteCond %{HTTP_HOST} =domain.com [OR] 
RewriteCond %{HTTP_HOST} =domain.se 
RewriteRule (.*) http://www.domain.com/$1 [R=301,L] 
  1. 这是被放置在的.htaccess文件在网站根目录。如果放置在其他地方,可能需要进行一些调整。

  2. 第一条规则将重写(内部重定向)请求到/somefolder/folder。如果你需要301永久重定向,那么用代替[R=301,L]

  3. 第二条规则将做域重定向工作。如果域为domain.comdomain.se,此规则将仅重定向。如果您想从任何域名(您的Web服务器配置可以提供服务)重定向到www.domain.com,则将这2个RewriteCond行替换为:RewriteCond %{HTTP_HOST} !=www.domain.com

+0

谢谢,这工作完美! – Jonathan

+0

@Jonathan很高兴听到。在这种情况下,请考虑将此答案标记为已接受 – LazyOne

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

这应该符合您的所有要求。所有不是www.domain.com的请求都将被重定向到该域,并且请求URI保持不变。

+0

我在下面的帖子中使用了答案,但是谢谢! – Jonathan

+0

是否有理由说你使用了27分钟后发布的其他代码,但除了过于详细之外,它们是相同的? –