【问题标题】:Apache serving files from non-existent directoriesApache 从不存在的目录提供文件
【发布时间】:2011-05-14 00:28:51
【问题描述】:

我确定我在配置中的某个地方搞砸了。所以这就是正在发生的事情。

我的文档根目录没有任何名为“2”的文件夹。但是,例如,如果我访问

http://www.mostpopularsports.net/2/poll.php

甚至是一些完全疯狂的网址,例如:

http://www.mostpopularsports.net/2/poll.php/dsadsdsdsdsdsads

apache 正在提供来自

的内容

http://www.mostpopularsports.net/2.php(但是,可以看出图像路径等都是错误的)。

这造成了严重的麻烦,因为由于这个问题,谷歌已经索引了一些疯狂的不存在的 url(很可能它在我可能会改变某些东西时爬网..啊..永远不会实时开发)。


这是我在文档根目录中的 .htaccess:

Options +FollowSymlinks
RewriteEngine on
rewritecond %{http_host} ^mostpopularsports.net [nc]
rewriterule ^(.*)$ http://www.mostpopularsports.net/$1 [r=301,nc]
Options -Indexes

这是启用站点内的 apache 虚拟主机配置文件:

<VirtualHost *:80>
 ServerAdmin ".........@mostpopularsports.net"
    ServerName mostpopularsports.net
    ServerAlias www.mostpopularsports.net
    CustomLog /var/log/apache2/mostpopularsports.net_access_log "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\""
    ErrorLog /var/log/apache2/mostpopularsports.net_error_log

    DocumentRoot "/var/www/domains/mostpopularsports.net"
    <Directory "/var/www/domains/mostpopularsports.net">
        Options +FollowSymLinks +MultiViews
         Options -Indexes
        Order allow,deny
        Allow from all
        AllowOverride All
    </Directory>

</VirtualHost>

我被难住了:(

【问题讨论】:

  • 另外,目前,我使用 WDG HTML 验证器验证了整个站点,并且有一个与上述问题完全无关的 CSS 错误。

标签: apache .htaccess mod-rewrite virtual-hosts


【解决方案1】:

我怀疑在您不知道的某个地方存在一些流氓 apache2 配置,这是导致此问题的原因。检查您的主要/etc/apache2/apache2.conf 是否有任何重写规则,并检查/etc/apache2/mods-enabled/rewrite.conf 是否存在。

【讨论】:

    猜你喜欢
    • 2015-03-28
    • 2011-12-03
    • 1970-01-01
    • 2015-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-11
    • 2017-01-26
    相关资源
    最近更新 更多