2015-05-24 8 views
2

Когда я пишу www.example.com/foo/1 он работает нормально, но когда я пишу www.example.com/foo/count или письма, он говорит.htaccess rewrite отлично работает с номером, но не с буквами?

не найден

Запрошенный URL Foo/счет не найден на этом сервере.

но все работает нормально, когда я пытаюсь foo/12 или любое число передается? что не так, или чего я здесь не хватает?

RewriteEngine On 
RewriteBase/
RewriteRule ^([^/]+)/(\d+)/? $1.php?key=$1 

ответ

0

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

RewriteEngine On 
RewriteBase/
RewriteRule ^([^/]+)/([^/]+)/? $1.php?key=$1 [NC,L] 

Узор [^ /] + вышлет любые символы 1 или несколько раз, за ​​исключением "/".

+1

Спасибо! Спасибо! Спасибо! Я провел все вчера и половину сегодняшнего дня, пытаясь понять это. благодаря тонну! –

+0

@MikeLake - Объяснение: '(\ d +)' (который является метасимволом для '[0-9]'), будет проверять только цифры, поэтому он не будет соответствовать символам раньше. Возможно, потратьте немного времени на [изучение регулярных выражений] (http://www.regular-expressions.info/quickstart.html), чтобы вы поняли, как они работают. :) –

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