ht访问 Web 路由和公共目录之间的冲突


htaccess conflict between web route and public directory

我有一个带有第三方模块的Magento项目,该模块在/sitemap路由处创建一个HTML站点地图。同时,我们有一个站点地图目录,其中包含一堆可公开访问的XML站点地图(发布到Google等(。在站点地图目录就位的情况下,/sitemap 路由会导致重定向循环。

正在寻找一个htaccess重写规则,它将允许我通过Magento中的标准索引.php路由机制提供/sitemap URL,但允许站点地图/* .xml作为文件提供。

这是我的尝试,我希望它能检查 URI 是否包含/sitemap 并且不是文件,然后将当前请求重写为 HTML 站点地图模块的完整 URL,但它似乎没有任何效果。

RewriteCond %{REQUEST_URI} ^sitemap
RewriteCond %{REQUEST_URI} !-f
RewriteRule %{REQUEST_URI} sitemap/index/index #The full URL of the HTML sitemap page.

更改 :

RewriteCond %{REQUEST_URI} !-f

 RewriteCond %{REQUEST_FILENAME} !-f