2010-07-02 123 views
1

我正在创建一个在线社区,我试图设置一个开发服务器。HTAccess重写:301重定向索引但不是子域

目前,我使用GIT作为我的存储库。我有mysite.com和mysite.net; .com是主站点。

我的目标:

  • 如果用户去www.mysite.net他们 应该是301重定向到 www.mysite.com。

  • 如果用户去dev.mysite.net他们应该被要求输入密码 ,然后带到了测试平台。(上mysite.net/)

可以这样做,通过一些狡猾的htaccess重写?

编辑:

# Here is what I have so Far 
RewriteEngine on 

# 
## Redirect normal users to mysite.com 
# 
RewriteCond %{HTTP_HOST} ^(www\.)?mysite\.net$ [NC] 
RewriteRule (.*) http://www.mysite.com/$1 [R=301,L] 

# 
## Redirect dev.mysite.net to root directory of mysite.net/ 
# 
RewriteCond %{HTTP_HOST} ^dev.mysite\.net$ [NC] 
RewriteRule (.*) http://www.mysite.net/$1 [R=301,L] 


# REQUIRE Password for Dev Server 
AuthUserFile /home/myaccount/public_html/mysite.net/.htpasswd 
AuthGroupFile /dev/null 
AuthName "Development Server" 
AuthType Basic 
require valid-user 

回答

1

你的第一个目标很简单:

# redirect to primary 
RewriteCond %{HTTP_HOST} ^(www\.)?mysite\.net$ [NC] 
RewriteRule (.*) http://www.mysite.com/$1 [R=301,L] 

RewriteRule删除了www,如果你不想前缀。

请回复关于第二个目标的更多信息。我不明白测试床部分。

+0

好的,很好,会将用户从www.mysite.net/重定向到www.mysite.com/。 现在,对于管理员,我希望能够访问www.dev.mysite.net/并要求输入密码。然后,这将使管理员到mysite.net的根目录,而不是将它们重定向到mysite.com。 – pws5068 2010-07-02 14:54:05

+0

HTTP BASIC AUTH或自定义密码保护? – 2010-07-02 15:06:30

+0

对于这种情况,HTTP验证可以正常工作 – pws5068 2010-07-02 15:10:51