2013-07-05 4 views
0

У меня есть небольшая проблема. Я использую HTAccess для более дружелюбных URL, но когда я добавить некоторые пробелы в URL он дает мне следующую ошибку:htaccess read whitespaces "не найден на этом сервере"

The requested URL /capitole/Limba Engleza was not found on this server. 

Мой Htaccess код выглядит следующим образом:

<ifModule mod_rewrite.c> 
RewriteEngine on 
RewriteBase/
RewriteRule nota.jpg php/img_nota.php [R=301] 
RewriteRule ^login login.php 
RewriteRule ^recuperare recuperare.php 
RewriteRule ^inregistrare inregistrare.php 
RewriteRule ^/?([\sa-zA-Z0-9_-]+)(/?([a-z0-9=]+)(/=)?([a-z0-9=]+)?)?$ index.php?page=$1&par1=$3&par2=$5 [NC,L] 
</ifModule> 

Может кто-нибудь мне помочь?

ответ

-1

ваш второй сегмент не принимает space изменить его следующим образом.

RewriteRule ^/?([\sa-zA-Z0-9_-]+)(/?([\sA-Za-z0-9=]+)(/=)?([a-z0-9=]+)?)?$ index.php?page=$1&par1=$3&par2=$5 [NC,L] 
+0

Хотя правило может быть правильным, пробелы по-прежнему не разрешены в URL-адресах. – Alvaro

+0

пробел преобразуется в '% 20' с современными браузерами. – DevZer0

1

URL-адрес не может содержать пробелы. Пробелы в URL-адресах кодируются с использованием процента (%).

Если это строка запроса (после?), То используется оператор + (например: big+ships). Если строка находится на пути к URL-адресу, то используется %20 (например: big%20ships).

Как подробно описано в RFC: rfc2396

The space character is excluded because significant spaces may
disappear and insignificant spaces may be introduced when URI are
transcribed or typeset or subjected to the treatment of word-
processing programs. Whitespace is also used to delimit URI in many
contexts.

space = US-ASCII coded character 20 hexadecimal

 Смежные вопросы

  • Нет связанных вопросов^_^