Я пытаюсь выполнить простую перезапись, но, похоже, что-то делаю не так. Я пытаюсь сделать так, чтобы у меня был 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-адреса.