Apache RewriteRule不带斜杠(/)

时间:2019-04-07 06:08:07

标签: url url-rewriting apache2

我正在尝试使用.htaccess重定向网址,如下所示:

example.io/foo => example.io/~user/foo
example.io/foo/ => example.io/~user/foo/

我尝试过:

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteCond %{HTTP_HOST} ^(example\.io) [NC]
RewriteRule ^(.*)/?$ /~user/$1 [L]

</IfModule>

当我访问example.io/foo/时,它会回复[200],浏览器会显示example.io/foo/

但是访问example.io/foo时,会回复[301]并显示example.io/~user/foo



当我访问example.io/foo

时,我希望浏览器显示example.io/foo(不带斜线)。

1 个答案:

答案 0 :(得分:0)

要实现这一目标:

example.io/foo => example.io/~user/foo
example.io/foo/ => example.io/~user/foo/

您应该这样做:

RewriteCond %{REQUEST_URI} ^/foo/ [OR]
RewriteCond %{REQUEST_URI} ^/foo
RewriteRule ^(.*)$ ~user/$1 [L]