如何从子目录加载请求的文件而不重写库

如何从子目录加载请求的文件而不重写库

利用.htaccess规则,我尝试从子目录中加载文件,同时如果域和文件路径都符合条件,则保持前端 URL 不变。

URL 示例:

example.com/specificfile.xml

该文件本身位于非公共 Web 根目录的子目录中:

/var/www/feeds/specificfile.xml

当我尝试用 Google 搜索此内容时,我得到了很多结果,RewriteBase但这不是我想要的。我只需要为单个文件“重写基目录”并保留前端 URL。

答案1

假设/var/www是文档根目录,那么为了/feeds/specificfile.xml在请求时提供服务/specificfile.xml,您将使用根文件中的 mod_rewrite 执行以下操作.htaccess

RewriteRule ^specificfile\.xml$ feeds/$0 [L]

为了使其正常工作,RewriteBase必须完全不设置(最好)或设置为RewriteBase /

反向$0引用只是节省了重复 - 它引用与RewriteRule 图案, IE。specificfile.xml

请注意,如果你的文件中已有 mod_rewrite 指令,.htaccess那么秩序很重要. (例如,需要先进行外部/规范重定向。)

相关内容