双斜杠apache配置

VP.*_*VP. 0 mod-rewrite apache2

我正在部署一个ror应用程序,现在我必须重写url(在apache中)

  • 在网址中添加前缀www
  • 添加/到网址的末尾

所以我采取了以下方法:

RewriteCond %{REQUEST_URI} ^/[^\.]+[^/]$
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1/ [R=301,L]
RewriteCond %{HTTP_HOST} ^foo\.com
RewriteRule ^(.*)$ http://www.foo.com/$1 [R=301,L]
Run Code Online (Sandbox Code Playgroud)

问题是它将两个尾部斜杠附加到我的URL所以例如资源/问题/问题正在变为:

http://foo.com//question/ask
Run Code Online (Sandbox Code Playgroud)

我试图在我的所有重写规则之前添加以下规则以尝试删除双//:

RewriteCond %{REQUEST_URI} ^//
RewriteRule ([^/]*)/+(.*) http://www.foo.com/$1/$2 [R=301,L]
Run Code Online (Sandbox Code Playgroud)

但它没有工作..任何想法扯掉所有额外的"//"添加到网址?

ans*_*hul 6

$1将包括一个/开头.你可能想要

RewriteCond %{REQUEST_URI} ^/[^\.]+[^/]$
RewriteRule ^(.*)$ http://%{HTTP_HOST}$1/ [R=301,L]
RewriteCond %{HTTP_HOST} ^foo\.com
RewriteRule ^(.*)$ http://www.foo.com$1 [R=301,L]
Run Code Online (Sandbox Code Playgroud)