Помогите сделать ЧПУ в Htaccess

=Lexx=
На сайте с 14.01.2009
Offline
117
2301

Помогите сделать ЧПУ в .htaccess

Надо написать правило, чтобы страница вида http://micro59.ru/index.php?id=micronaushnik-arenda

открывалась по адресу http://micro59.ru/micronaushnik-arenda/

В index.php просто инклудится содержимое файла micronaushnik-arenda.php, находящийся в папке ./data

LEOnidUKG
На сайте с 25.11.2006
Offline
1745
#1

Ну как-то так:

RewriteEngine on

Options +FollowSymlinks

RewriteRule ^/([A-Za-z0-9_-])/$ /index.php?id=$1 [NC,L]

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
siv1987
На сайте с 02.04.2009
Offline
427
#2

Немного подправил пример выше

RewriteEngine on

RewriteRule ^([A-Za-z0-9_-]+)/$ /index.php?id=$1 [NC,L]

=Lexx=
На сайте с 14.01.2009
Offline
117
#3

без закрывающего слеша не срабатывает :(

можно как-то тогда сделать, чтобы закрывающий слеш еще появлялся, даже если без него набрано?

siv1987
На сайте с 02.04.2009
Offline
427
#4
=Lexx=:
без закрывающего слеша не срабатывает

Так и было задумано

=Lexx=:
можно как-то тогда сделать, чтобы закрывающий слеш еще появлялся, даже если без него набрано?

RewriteEngine on

RewriteRule ^([A-Za-z0-9_-]+)$ /$1/ [R=301,L]

RewriteRule ^([A-Za-z0-9_-]+)/$ /index.php?id=$1 [NC,L]

LEOnidUKG
На сайте с 25.11.2006
Offline
1745
#5
=Lexx=:
без закрывающего слеша не срабатывает :(

Естественно, и не должно т.к. это будут дубли страниц.

=Lexx=
На сайте с 14.01.2009
Offline
117
#6

заработало как надо. спасибо.

palladin_jedi
На сайте с 13.07.2010
Offline
71
#7

На всякий случай - есть хороший генератор mod-rewrite. Попробуйте, =Lexx=, он поможет освоить основы. :)

Сайт о web-разработке и прочем (http://seazo.net)||Продвижение статьями под Google (http://short.seazo.net/ght4zf) Бесплатные консультации рефералам Sape (http://www.sape.ru/r.SWfwWOblBo.php) PHP и JS скрипты на заказ, создание сайтов с нуля и на CMS.
DV
На сайте с 27.10.2011
Offline
14
#8
siv1987:

RewriteEngine on
RewriteRule ^([A-Za-z0-9_-]+)$ /$1/ [R=301,L]
RewriteRule ^([A-Za-z0-9_-]+)/$ /index.php?id=$1 [NC,L]

зачем там вообще 301 редирект нужен???

Вот 3 варианта с разными окончаниями строки (от ошибки ввода):

RewriteEngine ON

RewriteRule ^([a-zA-Z0-9_-]+)$ /index.php?id=$1 [L]

RewriteRule ^([a-zA-Z0-9_-]+)/$ /index.php?id=$1 [L]

RewriteRule ^([a-zA-Z0-9_-]+)&$ /index.php?id=$1 [L]

либо вообще напрямую

RewriteEngine ON

RewriteRule ^micronaushnik-arenda /index.php?id=micronaushnik-arenda [L]

siv1987
На сайте с 02.04.2009
Offline
427
#9
DimaVip:
зачем там вообще 301 редирект нужен???

А какой по вашему нужен? А вот зачем вы написали эти г-реврайты, когда все три можно было объединить в один?

либо вообще напрямую

У меня 10К страниц, все по одной строчке напрямую писать буду?

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий