Htaccess - переписать правило - PullRequest
       2

Htaccess - переписать правило

1 голос
/ 22 декабря 2010

Что у меня есть:

Мое правило перезаписи:

RewriteRule ^(?!user?)([a-z0-9.-]+)+(\/)?$ index.php?page=$1

Что я хочу

Так что если яперейти к http://localhost/hello/, я хочу получить hello в $1

Но если я перейду к http://localhost/user/, я не хочу ничего делать в этом RewriteRule :) Потому что другой RewriteRule обрабатывает специальные страницы:)

В чем проблема:

Вместо получения hello как $1, я получаю index.php, почему и как мне это исправить?

Я также протестировал регулярное выражение с preg_replace здесь: http://regex.larsolavtorvik.com/ и работает: \

alt text

Ответы [ 2 ]

4 голосов
/ 23 декабря 2010
RewriteRule ^([^/]*)/$ /index.php?page=$1 [L]
RewriteRule ^user/([^/]*)/$ /index.php?page=$1 [L]
2 голосов
/ 22 декабря 2010

Попробуйте что-то вроде этого ...

RewriteRule ^user/?$ user.php [QSA,L]
RewriteRule ^(.*)/?$ index.php?page=$1 [QSA,L]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...