我有两台服务器(一台 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但是(css 和 javascript 除外)。事实上,除了首页之外的任何其他 URL 都可以“工作”,并由 Wordpress 提供服务,例如http://blog.folketsting.dk/foo。
我无法理解 LAMP 服务器是如何运行的http://blog.folketsting.dk设法提供由运行http://folketsting.dk. 查看响应标头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>
答案1
您在 WordPress 安装目录中的 .htaccess 文件中设置了哪些重写规则?
这可能是一个长远的想法,但它可能是带有 [P] 标志的规则。
答案2
问题原来是博客根目录中的 index.html 文件,其中包含 html(我不知道它是怎么到那里的……)。感谢 Jakob Andersen (http://intellect.dk/) 提出建议。