我有两台服务器(一台 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>
您在 WordPress 安装目录的 .htaccess 文件中设置了哪些重写规则?
这可能是一个远射,但它可能是带有 [P] 标志的规则。
问题原来是博客根目录中的 index.html 文件,其中包含 html(我不知道它是如何到达那里的......)。感谢 Jakob Andersen ( http://intellect.dk/ ) 的建议。