Apache2 重定向尾部斜杠不起作用

Apache2 重定向尾部斜杠不起作用

我尝试阅读各种文档以及网上的其他答案,但无法找到解决我的问题的方法。

这是我的问题:

我有一个永久的 www 到非 www 重定向设置,以将流量从 www.example.com 指向 example.com

这可行,但我在尝试访问特定 URL 时遇到问题。例如:

我们有三个 PDF,希望人们能够通过以下方式下载:

example.com/paper/somepdfname.pdf

当我访问这样的 URL 时,它可以工作,但如果我尝试访问如下内容:

www.example.com/paper/somepdfname.pdf

浏览器被重定向,并删除了其中一个斜杠,导致“无法访问网站错误”。这是我在浏览器中最终得到的 URL:

example.compaper/somepdfname.pdf

我认为很明显我需要以某种方式确保在论文前面有一个正斜杠,但我不知道该怎么做。下面您将找到我用于处理重定向的 .htaccess 指令:

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1/ [R=301,L]

答案1

使用mod_rewrite似乎对你来说有点过头了。我建议使用mod_alias和它的Redirect指示。

NameVirtualHost 111.22.33.44:80
<VirtualHost 111.22.33.44:80>
    ServerName www.example.com
    Redirect permanent / http://example.com
</VirtualHost>

相关内容