@Gabe_B

Как правильно прописать правила ЧПУ для самописного сайта?

Подскажите, хочу чтобы все ссылки вида:
site.ru/profile/
site.ru/users/
...
site.ru/любойтекст/
и т.д.

Обращались к index.php?module=(любойтекст)
И в то же время можно было прописать отдельные правила, типа:
site.ru/user/1/
Обращались к index.php?module=user&id=1
и т.д.

На данный момент прописал такое:
Options +FollowSymLinks
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)/$ index.php?module=$1 [L,QSA]
RewriteRule ^user/(\d+)*/$ index.php?module=user&id=$1 [L,QSA]


Но это работает неверно. Отдельно они работают, а вместе нет
  • Вопрос задан
  • 55 просмотров
Пригласить эксперта
Ответы на вопрос 2
rpsv
@rpsv
делай либо хорошо, либо никак
Не изобретайте велосипед, используйте готовые либы: https://packagist.org/?query=router
Ответ написан
@dodo512
Просто поменять местами правила и ^user/(\d+) поставить первым.
Options +FollowSymLinks
RewriteEngine On

RewriteRule ^user/(\d+)/$ index.php?module=user&id=$1 [L,QSA]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ index.php?module=$1 [L,QSA]
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы