Apache从不存在的目录中提供文件

时间:2010-11-22 18:15:23

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

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

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

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

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

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

apache正在提供来自

的内容

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

这引起了严重的麻烦,因为谷歌因为这个问题已经将一些疯狂的不存在的网址编入索引(很可能在我改变某些东西时它就被抓住了......唉......从来没有开发过。)


这是我在文档根目录中的.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>

我很难过:(

1 个答案:

答案 0 :(得分:0)

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