RewriteEngine on
RewriteRule ^$ http://my-site.com/directory [R=301,L]
这会将我的根页面重定向到
http://my-site.com/directory/
(注意斜杠)。
如何在生成URL时使.htaccess省略尾部斜杠?
答案 0 :(得分:0)
这是因为directory
是现有目录,这不是重写的URL。
用另一个词代替:
RewriteEngine on
RewriteRule ^$ /mypath [R=301,L]
RewriteRule ^mypath$ /directory/ [L]
引自noupe.com:
服务器上的文件系统始终优先于 重写的URL。例如,如果你有一个名为“services”的目录 并且在该目录中是一个名为“design.html”的文件,你不能 将URL重定向到“http://domain.com/services”。会发生什么 Apache进入“服务”目录并且没有看到 重写说明。
要解决此问题,只需重命名目录(在下面添加下划线) 开始或结束是一种简单的方法。)
奖励:删除每个网址中的尾部斜杠:
RewriteEngine On
RewriteRule ^(.*)/$ $1 [R,301,L]