簡體   English   中英

Apache虛擬服務器wordpress

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM