2010-03-14 93 views
-1

我正在部署RoR應用程序,現在我不得不重新改寫URL(在Apache),以雙斜線Apache配置

  • 添加前綴WWW的URL
  • 添加/來的結束網址

所以我採取了以下做法:

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] 

的問題是,它是附加兩個縱削減到我的網址 因此,例如資源/問題/賣價越來越:

http://foo.com//question/ask 

我嘗試添加下面的規則之前,我所有的重寫規則,以儘量去除雙//:

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

但它沒有工作..任何想法撕掉所有附加「//」添加到網址?

回答

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]