利用.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
那么秩序很重要. (例如,需要先进行外部/规范重定向。)