重写URL而不斜杠?

时间:2012-11-21 21:34:43

标签: .htaccess

RewriteEngine on
RewriteRule ^$ http://my-site.com/directory [R=301,L]

这会将我的根页面重定向到

http://my-site.com/directory/

(注意斜杠)。

如何在生成URL时使.htaccess省略尾部斜杠?

1 个答案:

答案 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]