Назад | Перейти на главную страницу

Apache перенаправляет URL на домашнюю страницу

Я пытаюсь выполнить простую перезапись, но, похоже, что-то делаю не так. Я пытаюсь сделать так, чтобы у меня был URL-адрес blog.example.com/articles/ что дает мне 404, а другие URL-адреса blog.example.com/articles/abc, blog.example.com/articles/xyz и т. д., который отлично работает, поэтому я хочу blog.example.com/articles/ чтобы показать мне домашнюю страницу, которая blog.example.com вместо 404, но я не хочу, чтобы это правило влияло на какой-либо другой URL-адрес, например / article / *.

Это то, что я пробовал до сих пор

RewriteRule ^/articles$ /index.php [R=302]

который не работает

Я тоже пробовал перенаправление

Redirect "/articles" "http://blog.example.com/"

Я работаю, но меняет URL-адрес в браузере, а также влияет на все остальные URL-адреса, начинающиеся с / статьи

Любая помощь приветствуется

Вы также можете использовать proxypass, для этого включите mod_proxy в apache.

a2enmod proxy
a2enmod proxy_http

затем разрешите вашему серверу использовать apache в качестве прокси

ProxyRequests On
ProxyVia On
<Proxy *>
      Order deny,allow
      Allow from xx.xx.xx.xx
</Proxy>

Теперь вы можете написать правило перезаписи следующим образом

RewriteEngine On
RewriteRule /articles$ http://blog.example.com [P,L]

Теперь при сопоставлении URL blog.example.com/articles придет, он получит результат из blog.example.com без изменения URL-адреса в браузере. Он отправит только URL-адрес blog.example.com/articles через прокси-сервер затрагиваются URL-адреса.