У меня есть следующее правило перезаписи:
RewriteRule ^support/(.*)$ /blog/support/$1 [R=301,NC,L]
Однако все, что он делает, - это простое перенаправление. Я хочу, чтобы /support
показать содержимое /blog/support
без изменения URL-адреса с /support
. Как я могу это сделать?
Кроме того, это работает только тогда, когда /support
имеет косую черту в конце.
Если /blog/support
соответствует местоположению в файловой системе, скажем /var/www/blog/support
, тогда вы можете просто использовать
Alias /support /var/www/blog/support
В документация поскольку в директиве Alias указано, что вторым аргументом должен быть путь к файлу или каталогу, а не другой URL.
Если вы хотите только внутреннее перенаправление, чтобы пользователь не видел изменения URL-адреса, то, вероятно, все, что вам нужно сделать, это удалить R=301,
от флагов в вашем RewriteRule
.
Чтобы не требовать завершающий /, проверьте наличие косой черты или конца строки:
RewriteRule ^support(/.*|$) /blog/support$1 [NC,L]