2012-10-09 111 views
3

可能重複更換空間,20%和+:
301 Redirect With Spaces帶連字符

現在,我每天重定向圖像打到含有圖片的HTML頁面。

RewriteEngine on 
RewriteCond %{HTTP_REFERER} !^http://(www\.)?domain.com/.*$ [NC,OR] 
RewriteCond %{HTTP_REFERER} (bing.com|google|yahoo|stumbleupon.com|reddit.com|pinterest.com) [NC] 
RewriteRule (.*)\.(gif|jpg|png)$ /$1.html [R,L] 

,因爲圖像通常包括空格,但是在HTML頁面通常使用連字符,我需要一個解決方案,也有連字符替換所有的空格,%20 +符號

回答

4

301 Redirect to replace all spaces to hyphens

解決問題

RewriteEngine On 
RewriteCond %{THE_REQUEST} (\s|%20) 
RewriteRule ^([^\s%20]+)(?:\s|%20)+([^\s%20]+)((?:\s|%20)+.*)$ $1-$2$3 [N,DPI] 
RewriteRule ^([^\s%20]+)(?:\s|%20)+(.*)$ /$1-$2 [L,R=301,DPI] 
+0

想要接受,它說我必須等待2天;) – Wurstbro

+0

第4(最後一行)有一個錯誤。我必須將$ 1- $ 2更改爲$ 1- $ 2 –