Символ «+» в htaccess - PullRequest
       29

Символ «+» в htaccess

0 голосов
/ 16 ноября 2009

Я использую htaccess. Я пытаюсь передать значение в URL, как «C ++».

как "http://domain.com/Details/c++/detail.html"

Я получаю значение в htaccess, как

RewriteRule ^ Подробности / ([a-zA-Z_0-9 _., '& / -] +) / (([a-zA-Z_0-9 _.,' & / -] +). Html) $ index .php? страница = $ 2 & ID = $ 1

Но он возвращает только 'c'. Символ «+» не принят. Мне нужно значение "C ++".

Есть ли какое-нибудь решение?

Ответы [ 5 ]

3 голосов
/ 16 ноября 2009

Попробуйте URL, кодирующий символ +.

"http://domain.com/Details/c%25%25/detail.html"

1 голос
/ 16 ноября 2009

Попробуйте с B флагом :

RewriteRule ^Details/([a-zA-Z0-9_.,'&/-]+)/([a-zA-Z0-9_.,'&/-]+\.html)$ index.php?page=$2&id=$1 [B]
1 голос
/ 16 ноября 2009

Небольшое утешение: вы не одиноки. Поскольку эта проблема спроектирована в URI, у больших сайтов, таких как Google, есть свои проблемы:

http://www.google.com/search?q=c++

Это делает поиск только «с».

1 голос
/ 16 ноября 2009
1 голос
/ 16 ноября 2009

Возможно ли избежать этого, как http://domain.com/Details/c%25%25/detail.html. (Я только догадываюсь)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...