prrrrrrr
@prrrrrrr
Верстаю сразу на PHP.

Как «somepage.php?id=1» заменять на «somepage/1» и т.п.?

Подскажите, как "somepage.php?id=1" заменять на "somepage/1" и остальные страницы по аналогу?

Нашел решение где обрезается .php, но как сделать роут с id=1 на /1?
# Запускаем движок замены
RewriteEngine on

 # Если запрашиваемый объект не папка
RewriteCond %{REQUEST_FILENAME} !-d

 # если запрашиваемый объект с дописанным расширением php - файл
RewriteCond %{REQUEST_FILENAME}\.php -f

 # делаем замену с дописыванием .php
RewriteRule ^(.*)$ $1.php
  • Вопрос задан
  • 61 просмотр
Решения вопроса 1
@dodo512
RewriteEngine on

RewriteCond %{THE_REQUEST} "^GET /(somepage)\.php(?:.*?[?&]id=(\d+)|)"
RewriteRule ^ /%1/%2? [R=301,L]

RewriteRule ^(somepage)/(\d+)$ /$1.php?id=$2 [L]
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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