Как перенаправить% 20 ​​или пробел автоматически на + или - с помощью htaccess? - PullRequest
2 голосов
/ 17 апреля 2011

Мне нужно автоматически перенаправить много URL, например / file% 20name / ore / имя файла / в / file + name / или /file-name/.

Как я могу сделать это с .htacess?

Ответы [ 2 ]

4 голосов
/ 17 апреля 2011

Попробуйте это правило в вашем .htaccess:

RewriteEngine on
Options +FollowSymlinks

# executes repeatedly as long as there are more than 1 spaces in URI
RewriteRule "^(\S*)\s+(\S* .*)$" $1+$2 [N,NE]

# executes when there is exactly 1 space in URI
RewriteRule "^(\S*)\s(\S*)$" /$1+$2 [L,R=302,NE]
  • R = 301 будет перенаправлять со статусом https 301

  • L сделает последнее правило

  • NE для кодировки URI

0 голосов
/ 17 апреля 2011

Вы можете использовать что-то вроде этого:

RewriteRule file\ name\ http://example.com/file+name [R=301,NC,NE,L]

Редактировать после комментария:

Попробуйте это:

RewriteRule ^([^\ ]*)\ (.*)$ $1-$2 [E=rspace:yes,N]
...