htaccess перезаписывает ТОЛЬКО если первая часть пути числовая - PullRequest
7 голосов
/ 23 декабря 2010

Существует ли правило htaccess, которое будет переписывать только в том случае, если первая часть пути числовая, поэтому http://www.example.com/123/whatever попадает в правило перезаписи, а http://www.example.com/user/whatever - нет?

Ответы [ 2 ]

11 голосов
/ 23 декабря 2010

Вот правило переписывания для моего маленького сайта, который я строю

RewriteEngine on
RewriteRule ([a-zA-Z])/ index.php?k=$1
RewriteRule ([0-9]+)/ index.php?id=$1

Итак, вы можете видеть, что правило регулярных выражений [0-9] + будет соответствовать любым числам подряд. [A-zA-Z] будет соответствовать буквам.

4 голосов
/ 23 декабря 2010

Вы можете сопоставить числа в вашем шаблоне.Например:

RewriteRule ^([0-9]+)/(.*) /foo/$2?bar=$1

Перезапишет http://www.example.com/123/whatever в http://www.example.com/foo/whatever?bar=123, но оставит / user / что угодно в одиночку.

...