2012-11-27 34 views
1

林开始尝试与+标志全部更换20%,但只是当URL与/一些/ DIR /启动。例如:htaccess的替代空间只有当URL与某些词

http://mydomain.com/some/dir/replace%20here 

应该被重定向到

http://mydomain.com/some/dir/replace+here 

http://mydomain.com/test/dir/replace%20here 

不能代替%20

到目前为止,我有:

RewriteCond %{REQUEST_URI} ^(/some/dir/) 
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] 

但剧照中/测试替换%20/DIR

我缺少什么?

谢谢!

回答

1

你的规则是不正确的,而且DPI标志并非在所有版本的Apache支持。改变你的重写规则,以这样的:

RewriteRule ^(some/dir)/([^\s%20]+)(?:\s|%20)+([^\s%20]+)(.*?)/?$ $1/$2+$3$4 [L,NC,R=301] 
RewriteRule ^(some/dir)/([^\s%20]+)(?:\s|%20)+ $1/$2 [L,NC,R=301] 
+0

太谢谢你了! – content01