在子域上配置 Apache/Wordpress 的問題
我有兩台伺服器(一台 LAMP,一台 Windows)和一個帶有相關部落格的網站。我在 Windows 伺服器上執行主站點,在 LAMP 伺服器上執行部落格,使用 Wordpress。主站點可在http://folketsting.dk>訪問(它是丹麥語——抱歉),部落格可在<http://blog.folketsting.dk訪問(此連結不好,請繼續閱讀)。
主站點工作正常。部落格工作,除了首頁。工作文章範例: http: //blog.folketsting.dk/2009/10/09/ftlive/。然而,部落格的首頁(http://blog.folketsting.dk )顯示了來自http://folketsting.dk的html (css 和 javascript 除外)。事實上,除首頁之外的任何其他 URL 都“有效”,並由 Wordpress 提供服務,例如http://blog.folketsting.dk/foo。
我一輩子都無法理解執行http://blog.folketsting.dk的 LAMP 伺服器如何管理執行http://folketsting.dk的 Windows 伺服器生成的內容。查看http://blog.folketsting.dk上的響應標頭,很明顯內容來自 Apache,而不是 IIS。
我很確定這不是 DNS 問題,因為即使在訪問原始 IP 時問題也很明顯,例如。http://130.226.142.141/>與<http://130.226.142.141/foo。我認為這是 Apache 中的錯誤配置……任何線索?
更新: 根據要求,這是非工作站點的 apache conf 文件。順便說一句,另一個 Wordpress 部落格正在伺服器上執行(雖然不是在子域上),它沒有表現出這種怪癖。
<VirtualHost *:80> ServerAdmin webmaster@localhost ServerName blog.folketsting.dk ServerAlias blog.folketsting.dk DocumentRoot /var/www/blog.folketsting.dk <Directory /> Options FollowSymLinks AllowOverride All </Directory> <Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog /var/log/apache2/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog /var/log/apache2/access.log combined Alias /doc/ "/usr/share/doc/" <Directory "/usr/share/doc/"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order deny,allow Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128 </Directory> </VirtualHost>
問題原來是部落格根目錄中的 index.html 文件,其中包含 html(我不知道它是如何到達那裡的……)。感謝 Jakob Andersen ( http://intellect.dk/ ) 的建議。
您在 WordPress 安裝目錄的 .htaccess 文件中設置了哪些重寫規則?
這可能是一個遠射,但它可能是一個規則
$$ P $$旗幟。