[英]Apache Virtual Server wordpress
我是Apache和wordpress的新手。 我正在使用Apache 2.2。 我已將公共IP地址映射到wordpress所在的服務器(192.168.0.99)。 在同一網上的任何地方,都可以在瀏覽器中鍵入公共IP地址並獲取默認的Apache頁面,或者鍵入[公共IP地址] / wordpress,並獲取我已設置的wordpress頁面。
當我從網絡外部嘗試相同的測試時(例如,在Vodafone 3G上使用Safari),公共IP地址將顯示默認的Apache頁面,但是[公共IP地址] / wordpress拒絕加載任何內容。
我已經按照以下步驟設置了/etc/httpd/conf/httpd.conf:
LogLevel debug
DocumentRoot "/var/www/html"
<Directory "/var/www/html">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot "/var/www/html"
ServerName localhost
ErrorLog /var/log/httpd/my_error_log
CustomLog /var/log/httpd/my_custom_log common
</VirtualHost>
在MySQL中,
wordpress.wp_options: option_id: 1,
option_name: siteurl,
option_value: http://192.168.0.99/wordpress,
autoload: yes
my_error_log和my_custom_log都收到大量的消息,表明虛擬主機正在收集請求。 當我嘗試從Vodafone手機訪問wordpress時,在my_custom_error中看到的唯一條目是:
[Mobile network provider's IP] - - [Date and Time] "GET /wordpress/ HTTP/1.1" 200 99982
my_error_log中沒有任何條目。
我錯過了什么?
問題在於,wordpress希望托管在數據庫中設置的地址上。 如果您碰巧在其他地址上訪問它,則wordpress會將您重定向到數據庫中的地址。 在您的情況下,公共地址將導致wordpress嘗試提供本地地址。
option_value: http://192.168.0.99/wordpress,
解決方案1:使用主機名。 設置主機名以指向您的公共地址,然后輸入該地址作為您的wordpress的站點地址。
option_value: http://myhostname.somedomain.com/wordpress,
您可以使用主機文件條目或在內部DNS服務器中使用所選主機名的本地條目來設置主機名指向內部地址。 有諸如noip.com之類的服務可以免費為您提供主機名。
解決方案2:如果您不介意失去對站點的LAN訪問權限,則可以做的另一件事是僅更新wordpress,以便它使用公共ip地址而不是私有ip地址,並且它應該可以從網絡外部按預期工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.