2016-08-30 19 views
1

Я хочу, чтобы принять знак вопроса в моем URL, как это:Accept знак вопроса на .htaccess

http://www.example.com/page/url-example-?-15 

Я использую этот .htaccess файл:

RewriteRule page/([a-zA-Z0-9éèÉàêç\-\"\'\(\)\:\!\?]+)-([0-9]+) page.php?url=$1&Id=$2 

Все персонажи работают за исключением знака вопроса, как я могу это решить?

+5

Не возможно '?' Является URL метасимволом, означающий начало запроса parameters.that URL будет разбирать, как URL 'http://www.example.com/page/url-example-', с строкой запроса' -15'. '?' Должен был бы закодирован как '% 3F', чтобы стать ЛИТЕРАЛЬНЫМ'? 'В URL-адресе, а не метамарком. –

+2

'?' Имеет особое значение в строках URL. Почему на Земле вы хотели бы бороться с этим стандартом? Вы не можете выбрать другого персонажа? –

ответ

0
<?php 

    preg_match("/([a-zA-Z0-9éèÉàêç\-\"\'\(\)\:\!\?]+)-([0-9]+)/", 
      "url-example-?-15", 
      $matches, 
      PREG_OFFSET_CAPTURE); 

    print_r($matches); 

?> 

body, html, iframe { 
 
    width: 100% ; 
 
    height: 100% ; 
 
    overflow: hidden ; 
 
}
<iframe src="https://ideone.com/1yr1ec"></iframe>

+0

Хотя этот код может ответить на вопрос, предоставление дополнительного контекста относительно того, как и/или почему оно решает проблему, улучшит долгосрочную ценность ответа. – glennsl

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