
Используя .htaccess
правила, я пытаюсь загрузить файл из подкаталога, сохраняя при этом URL-адрес интерфейса неизменным, если и домен, и путь к файлу соответствуют критериям.
Пример URL-адреса:
example.com/specificfile.xml
Сам файл находится в подкаталоге, который не является общедоступным корневым веб-каталогом:
/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
ссылка просто экономит повторения — она ссылается на весь URL-путь, с которым совпадаетRewriteRule
шаблон, то есть. specificfile.xml
.
.htaccess
Обратите внимание, что если в вашем файле есть существующие директивы mod_rewrite, топорядок имеет значение. (например, внешние/канонические перенаправления должны идти первыми.)