我目前正在尝试将我的本地配置域重定向到其目录。使用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]
我希望有人可以帮助我,认为有一个简单的解决办法!
亲切的问候,
答案 0 :(得分: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]
答案 1 :(得分: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 会显示/var/www/vhosts/example2.com/httpdocs
请记住将域添加到主机文件中。