Назад | Перейти на главную страницу

Правило перезаписи Apache не соответствует двоеточию (:)

У меня проблемы с написанием правила, которое перезапишет адрес, например http: // localhost / привет: мир к http: //localhost/hello/world.html

Мое RewriteRule в httpd.conf выглядит следующим образом:

<Directory "D:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs">
     Options Indexes FollowSymLinks
     AllowOverride None
     Order allow,deny
     Allow from all

     RewriteEngine On
     RewriteBase /
     RewriteRule ^hello:world$ /hello/world.html [L,QSA] #Doesn't work
     RewriteRule ^hello_world$ /hello/world.html [L,QSA] #Works great!
 </Directory>

Когда я пытаюсь http: // localhost / привет: мир, Я получаю 403 запрещенную страницу.

Особо следует отметить, что правило

RewriteRule ^hello_world$ /hello/world.html [L,QSA]

отлично работает с http: // локальный / hello_world.

Я использую Apache2.2 под Windows Server 2008.

Как мне переписать правило, чтобы оно соответствовало двоеточию?

Если сомневаешься .. Всегда убегай

RewriteRule ^hello\:world$ /hello/world.html [L,QSA]