2013-03-20 104 views
0

我目前正在尝试将我的本地配置的域重定向到它的目录..什么是最好的方式来实现这个使用htaccess?重写特定的主机到本地主机上的目录

当前'localhost'重定向到/ Library/WebServer/Documents /(mac OSX),我想在这个目录中创建一个htaccess文件,它将把所有域引导到它的目录。

例的htaccess的我正在寻找代码:

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^(www.)?example.com/$ 
RewriteRule ^(.*)$ /Library/WebServer/Documents/example.com/$1 [L] 

我希望有人能帮助我,想有一个简单的办法解决这个!

亲切的问候,

回答

1

这是不可能单独.htaccess。您需要访问主服务器配置文件或至少修改相应的虚拟主机部分。

如果您可以修改主配置文件,您可以添加任意数量的virtual hosts

如果只允许您调整虚拟主机,则必须为您的虚拟主机添加尽可能多的ServerAlias条目,因为您拥有域。

那么你可以添加重写规则的各个领域

RewriteEngine On 

# prevent endless loop 
RewriteCond %{ENV:REDIRECT_STATUS} . 
RewriteRule^- [L] 

RewriteCond %{HTTP_HOST} ^(www\.)?example\.com/$ 
RewriteRule ^.*$ /Library/WebServer/Documents/example.com/$0 [L] 

RewriteCond %{HTTP_HOST} ^(www\.)?domain\.com/$ 
RewriteRule ^.*$ /Library/WebServer/Documents/domain.com/$0 [L] 
+0

非常感谢!这工作:-) – user2191227 2013-03-21 08:27:50

0

试试这个

# get the server name from the Host: header 
UseCanonicalName Off 

# include the server name in the filenames used to satisfy requests 
VirtualDocumentRoot /var/www/vhosts/%0/httpdocs 

<Location /var/www/vhosts> 
    AllowOverride All 
    Options +FollowSymLinks 
</Location> 

然后,你可以尝试这些例子:

example.com将显示/var/www/vhosts/example.com/ httpdocs

example2.com will show /var/www/vhosts/example2.com/httpdo cs

请记住将域添加到您的主机文件。

Source