0

我的 apache2 和 .htaccess 规则有点问题。

例如:
我有一个缩短的 uri

www.domain.tld/sitemap  

必须由重写器重写,在 php 文件中重定向以显示站点地图。问题是,在根文件夹中存在一个名为 sitemap.xml 的文件。我的 apache 自动调用 sitemap.xml 文件,但我不希望这样。仅当 uri 为

www.domain.tld/sitemap.xml

调用缩短的 URI 时是否有可能避免调用此文件?

这只是一个例子。有些文件需要位于根文件夹中,并且不能从那里移动到子文件夹中(这将是解决此问题的最简单方法,但在我的情况下这是不可能的)。要求这些文件可由 uri 调用。

有谁知道如何解决这个问题?

我当前的 .htaccess 文件

RewriteCond %{REQUEST_URI} ^(.*)$
RewriteCond %{REQUEST_FILENAME} !index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ /index.php?urlseg=%1&%{QUERY_STRING} [NC,L]

非常感谢!

4

1 回答 1

0

您可能已MultiViews启用,它将您不存在的资源自动解析/sitemap为存在的资源/sitemap.xml。尤其是在您使用 的情况下mod_rewrite,我真的认为不需要MultiViews,因此您可以通过将其添加到.htaccess文件顶部来将其关闭:

Options -MultiViews

这样做应该有望防止这种情况发生。

于 2010-07-17T19:54:12.847 回答