如何编辑httpd.conf以重定向到带有斜杠的https url

时间:2018-06-05 17:22:39

标签: wordpress apache .htaccess redirect httpd.conf

我正在Linux上运行一个托管在Apache服务器上的WordPress站点。现在我网站上的每个页面都有多个不必要的重定向。第一个重定向将页面转换为其HTTPS版本,第二个重定向然后向路径添加尾部斜杠。当然,只有当这两个不在用户最初访问的URL中时才会发生这种情况。如果网址尚未存在,则第二个重定向还会将www添加到网址。

第一个重定向是由httpd.conf文件中的重写规则引起的,当我配置了如下所示的加密SSL证书时添加了该规则:

Listen 80
<VirtualHost *:80>
    DocumentRoot "/var/www/html"
    ServerName "example.com"
    ServerAlias "www.example.com"
RewriteEngine on
RewriteCond %{SERVER_NAME} =www.example.com [OR]
RewriteCond %{SERVER_NAME} =example.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>

第二个重定向是由WordPress本身引起的。由于管理面板中的设置将Wordpress地址和站点地址设置为https://www.example.com,因此如果URL中不存在www,则会添加files.SelectTokens("$..calls..@audioFileName") 。由于管理面板中选择的固定链接设置确保路径中存在尾部斜杠,因此重定向会添加一个尾部斜杠(如果不存在)。

我希望所有这些都可以完成,但在任何页面上最多只能有一次重定向。我知道我们可以通过在httpd.conf中添加重写规则来实现这一点,但我不确定如何在一次重定向中包含所有这些。这需要一个重写规则还是多个?是否会更改现有规则或添加其他规则?重写规则究竟是什么?请完整解释你的答案。

0 个答案:

没有答案