我的apache2和.htaccess规则有点问题。
例如:
我有一个简短的uri喜欢
www.domain.tld/sitemap
必须由rewriterule重写,重定向到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]
非常感谢!
答案 0 :(得分:0)
您可能已启用MultiViews
,这会自动将您不存在的资源/sitemap
解析为现有资源/sitemap.xml
。特别是在您使用mod_rewrite
的情况下,我确实认为不需要MultiViews
,因此您可以将其添加到.htaccess
文件的顶部来关闭它:
Options -MultiViews
这样做应该可以防止这种情况发生。