mac os下xampp配置基於域名的虛擬主機
阿新 • • 發佈:2019-01-10
1.在終端執行“sudo vi /XAMPP/etc/httpd.conf”,開啟Apche的配置檔案
2.在httpd.conf中找到“#Include /XAMPP/etc/extra/httpd-vhosts.conf”,去掉前面的“#”,儲存並退出。
3.重啟Apache服務之後就開啟了它的虛擬主機配置功能。
4.執行“sudo vi /XAMPP/etc/extra/httpd-vhosts.conf”,這樣就打開了配置虛擬主機的檔案httpd-vhost.conf,配置你需要的虛擬主機了。需要注意的是該檔案預設開啟了兩個作為例子的虛擬主機:
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "/usr/docs/dummy-host.example.com"
ServerName dummy-host.example.com
ErrorLog "/private/var/log/apache2/dummy-host.example.com-error_log"
CustomLog "/private/var/log/apache2/dummy-host.example.com-access_log" common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "/usr/docs/dummy-host2.example.com"
ServerName dummy-host2.example.com
ErrorLog "/private/var/log/apache2/dummy-host2.example.com-error_log"
CustomLog "/private/var/log/apache2/dummy-host2.example.com-access_log" common
</VirtualHost>
而實際上,這兩個虛擬主機是不存在的,在沒有配置任何其他虛擬主機時,可能會導致訪問localhost時出現如下提示:
Forbidden
You don't have permission to access /index.php on this server
最簡單的辦法就是在它們每行前面加上#,註釋掉就好了,這樣既能參考又不導致其他問題。
增加如下配置
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "/Applications/XAMPP/htdocs/a"
<Directory "/Applications/XAMPP/htdocs/a">
Options FollowSymLinks
AllowOverride all
Order allow,deny
Allow from all
</Directory>
ServerName your.website.com
ServerAlias your.website.com
ErrorLog "/Applications/XAMPP/htdocs/a/test_error_log"
CustomLog "/Applications/XAMPP/htdocs/a/test_access_log" common
</VirtualHost>
注意,裡面的<Directory>要加上,而且options要設定成FollowSymLinks,儲存退出,並重啟Apache。
5.執行“sudo vi /etc/hosts”,開啟hosts配置檔案,加入”127.0.0.1 your.website.com“,
2.在httpd.conf中找到“#Include /XAMPP/etc/extra/httpd-vhosts.conf”,去掉前面的“#”,儲存並退出。
3.重啟Apache服務之後就開啟了它的虛擬主機配置功能。
4.執行“sudo vi /XAMPP/etc/extra/httpd-vhosts.conf”,這樣就打開了配置虛擬主機的檔案httpd-vhost.conf,配置你需要的虛擬主機了。需要注意的是該檔案預設開啟了兩個作為例子的虛擬主機:
<VirtualHost *:80>
ServerAdmin
DocumentRoot "/usr/docs/dummy-host.example.com"
ServerName dummy-host.example.com
ErrorLog "/private/var/log/apache2/dummy-host.example.com-error_log"
CustomLog "/private/var/log/apache2/dummy-host.example.com-access_log" common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "/usr/docs/dummy-host2.example.com"
ServerName dummy-host2.example.com
ErrorLog "/private/var/log/apache2/dummy-host2.example.com-error_log"
CustomLog "/private/var/log/apache2/dummy-host2.example.com-access_log" common
</VirtualHost>
而實際上,這兩個虛擬主機是不存在的,在沒有配置任何其他虛擬主機時,可能會導致訪問localhost時出現如下提示:
Forbidden
You don't have permission to access /index.php on this server
最簡單的辦法就是在它們每行前面加上#,註釋掉就好了,這樣既能參考又不導致其他問題。
增加如下配置
<VirtualHost *:80>
ServerAdmin
DocumentRoot "/Applications/XAMPP/htdocs/a"
<Directory "/Applications/XAMPP/htdocs/a">
Options FollowSymLinks
AllowOverride all
Order allow,deny
Allow from all
</Directory>
ServerName your.website.com
ServerAlias your.website.com
ErrorLog "/Applications/XAMPP/htdocs/a/test_error_log"
CustomLog "/Applications/XAMPP/htdocs/a/test_access_log" common
</VirtualHost>
注意,裡面的<Directory>要加上,而且options要設定成FollowSymLinks,儲存退出,並重啟Apache。
5.執行“sudo vi /etc/hosts”,開啟hosts配置檔案,加入”127.0.0.1 your.website.com“,