Задать вопрос
@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]


Но это работает неверно. Отдельно они работают, а вместе нет
  • Вопрос задан
  • 72 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    1C-программист: расширенный курс
    18 месяцев
    Далее
  • Академия Эдюсон
    Python-разработчик + ИИ
    9 месяцев
    Далее
  • ProductStar × РБК
    Профессия DevOps-инженер + ИИ
    5 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 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]
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы