我已經在我的計算機上進行了設置localhost/~<username>
,~/Sites
並且我正在使用它/etc/apache2/extra/httpd-vhosts.conf
來製作自訂測試域。如何新增 DNS 通配符網域? ( *.dev.server
)
我在 ~/Sites/Wordpress 上設定了 WordPress 多網站網路(如wordpress.server
),每當我建立網站時,它都不起作用。我如何讓它發揮作用?
httpd-vhosts.conf
<VirtualHost *:80>
DocumentRoot "/Users/<username>/Sites/Wordpress"
ServerName wordpress.server
ServerAlias www.wordpress.server
</VirtualHost>
/etc/主機
127.0.0.1 wordpress.server
127.0.0.1 www.wordpress.server
謝謝!
答案1
為此,您需要以下人員的協助dnsproxy.py
。
準備dnsproxy.py
首先,下載 Python 檔案並將其移至您的主目錄中。
在這裡下載然後解壓縮檔案。接下來,將 Python 檔案移到您的主目錄中。 ( Users/<your username>
)
添加通配符到/etc/hosts
使用您喜歡的編輯器(例如nano
)透過終端機開啟主機檔案。
sudo nano /etc/hosts
新增以下條目:
127.0.0.1 *.wordpress.server
跑步dnsproxy.py
dnsproxy.py
透過在終端機中執行以下命令來運行:
python ~/dnsproxy.py -s 8.8.8.8
-s 8.8.8.8
指的是委託 DNS 伺服器。在此命令中,我們使用 Google 的 DNS 伺服器。如果需要,您可以將其替換為其他 DNS 伺服器。 (如1.1.1.1)
如果您在 MacOS Catalina 10.15 中使用該命令時遇到錯誤python
,請嘗試執行以下命令:
/usr/bin/python ~/dnsproxy.py -s 8.8.8.8
筆記:不要關閉或終止終端窗口,否則通配符/etc/hosts
將不起作用。
添加通配符至httpd-vhosts.conf
在終端機中,使用您喜歡的編輯器開啟以下文件:
sudo nano /etc/apache2/extra/httpd-vhosts.conf
新增以下項目:(替換wordpress.server
為您的伺服器名稱和Wordpress
專案資料夾)
<VirtualHost *:80>
DocumentRoot "/Users/<your username>/Sites/Wordpress"
ServerName wordpress.server
ServerAlias *.wordpress.server
</VirtualHost>
ServerName
定義主主機名,同時ServerAlias
定義通配符子網域。
修改您的 DNS
前往系統偏好設定( > 系統偏好設定...)並前往網路偏好設定。
接下來,新增127.0.0.1
為 DNS 伺服器。 (如果您沒有條目並且要添加127.0.0.1
,我建議您添加網路的預設 DNS 或其他 DNS,以便8.8.8.8
您的互聯網在您不開發時也能正常工作。)
最後,按一下窗格右下角的“確定”,然後按一下“應用”。
檢查是否有錯誤
在終端機中執行以下命令:
apachectl configtest
它可能會顯示一些警告,但最終應該會導致Syntax OK
.
如果它不顯示Syntax OK
並導致錯誤,請轉到導致錯誤的檔案並嘗試修復它。
重新啟動阿帕契
在終端機中執行以下命令:
sudo apachectl restart
現在嘗試存取隨機子網域,例如test.wordpress.server
.它應該有效。