Apache 将一些 URL 重定向到主页

Apache 将一些 URL 重定向到主页

我正在尝试实现一个简单的重写,但看起来我做错了。我想做的是,我有一个 urlblog.example.com/articles/这给了我 404 ,其他网址是blog.example.com/articles/abcblog.example.com/articles/xyz等等,效果很好,所以我想blog.example.com/articles/显示我的主页blog.example.com而不是 404,但我不希望任何其他包含 /articles/* 之类的 url 受到该规则的影响。

这是我迄今为止尝试过的

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

不起作用

我也尝试过重定向

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

我可以使用它,但是它会改变浏览器中的 URL,并且还会影响以 开头的所有其他 URL/文章

任何帮助表示感谢

答案1

您还可以使用 proxypass,在 apache 中启用 mod_proxy。

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。它只会发送 URLblog.example.com/articles通过其他代理,URL 会受到影响。

相关内容