Как сделать чтобы вместо /index.php?page=pg1 было /pg1

GA
На сайте с 11.06.2013
Offline
2
815

Собственно вопрос такой, как сделать так, чтобы к примеру вместо site.ru/index.php?page=pg1 страницы имели вид site.ru/pg1, site.ru/pg2? Подозреваю что это делается в .htdocs. Кто поможет?

дани мапов
На сайте с 06.09.2012
Offline
204
#1

Если первой строки нет в htaccess - добавляйте.


RewriteEngine On
RewriteRule ^([0-9]+)$ index.php?page=$1 [L]
Написание и доработка скриптов (PHP, MySQL, JavaScript, jQuery) (/ru/forum/811046)
siv1987
На сайте с 02.04.2009
Offline
427
#2

решение выше

GA
На сайте с 11.06.2013
Offline
2
#3

Да кстати, мне надо чтобы любая ссылка вида site.ru/page обрабатывалась скриптом index.php. Получится ли?

дани мапов
На сайте с 06.09.2012
Offline
204
#4
GeorgeA:
Да кстати, мне надо чтобы любая ссылка вида site.ru/page обрабатывалась скриптом index.php. Получится ли?

Чтобы и такие обрабатывались site.ru/category (не цифра) ? Движок самопис, файл htaccess раньше был?

GA
На сайте с 11.06.2013
Offline
2
#5
дани мапов:
Чтобы и такие обрабатывались site.ru/category (не цифра) ? Движок самопис, файл htaccess раньше был?

Нет никакого движка, единственный на сайте скрипт index.php сам будет выдавать страницу в соответствии со значением после знака /. Файла htaccess нет.

Милованов Ю.С
На сайте с 24.01.2008
Offline
196
#6


RewriteRule ^index\.php$ http://%{HTTP_HOST} [R=301,L] - это на Ваше усмотрение
RewriteRule ^(.*)$ /index.php?route=$1 [QSA,L]

$_GET['route'] будет содержать строку запроса

флаг QSA позволяет делать урлы вида www.site.ru/?query=string

Подпись))

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