Apache URL重定向避免网址结尾斜线问题

结尾斜线问题描述:每个网主都曾受到结尾斜线问题的折磨,若在URL中没有结尾斜线,服务器就会认为UR运维
强烈推介IDEA2020.2破解激活,IntelliJ IDEA 注册码,2020.2 IDEA 激活码

 

结尾斜线问题
描述:
每个网主都曾受到结尾斜线问题的折磨,若在URL中没有结尾斜线,服务器就会认为URL无效并返回错误,因为服务器会根据
/~quux/foo去寻找
foo这个档案,而非显示这个目录。其实很多时候,这问题应留待用户自己加「/」去解决,但是用户会直接输入网址。 这样就会产生一个301重定向的请求。然后再次寻找到/index.html下。
方法:
最直观的方法就是令Apache自动加上「/」,使用外部重定向令浏览器能正确找到档案,若我们只做内部重定向,就只能正确显示目录页,在这目录页的图像文件会因相对URL的问题而找不到。例如我们请求
/~quux/foo/index.html
image.gif时,重定向后会变成
/~quux/image.gif
所以我们应使用以下方法:
RewriteEngine on
RewriteBase    /~quux/
RewriteRule    ^foo$ foo/ [R]
这方法也适用于.htaccess文件在各目录内设定,但这设定会覆盖原先主配置文件。
RewriteEngine on
RewriteBase    /~quux/
RewriteCond    %{REQUEST_FILENAME} -d
RewriteRule    ^(.+[^/])___FCKpd___17nbsp;          $1/ [R]
本文来源21aspnet,由架构君转载发布,观点不代表Java架构师必看的立场,转载请标明来源出处:https://javajgs.com/archives/3602

发表评论