Как сделать ссылку ЧПУ?

12
N0
На сайте с 20.08.2007
Offline
46
870

Хочу чтобы ссылки

http://site.ru/text/text.php?kat=8

http://site.ru/text/text.php?kat_st=6&id_st=30

выглядели более привлекательно ЧПУ, подскажите, что нужно прописать в .htaccess

пробовал так

RewriteEngine On

RewriteBase /

RewriteRule ^([0-9]+)/$ /text/text.php?kat=$1

RewriteRule ^([a-z]+)/([0-9]*)/$ /text/text.php?kat_s=$1&id_st=$2

и так

RewriteEngine On

RewriteBase /

RewriteRule ^([0-9]+)/$ /text.php?kat=$1

RewriteRule ^([a-z]+)/([0-9]*)/$ /text.php?kat_s=$1&id_st=$2

ничего не вышло!

mgarkunov
На сайте с 23.03.2009
Offline
130
#1
Nik007:
не

Для начала нужно доработать CMS!

M
На сайте с 04.03.2009
Offline
21
#2

Nik007, двиг сам писал?

как мало пройдено дорог, как много сделано дорвеев... а у меня с Яндексом Платоническая любовь! mall (c)
N0
На сайте с 20.08.2007
Offline
46
#3
mall:
Nik007, двиг сам писал?

Да двиг самописный, что нужно добавить?

wdsg
На сайте с 09.02.2009
Offline
31
#4

Добавлять ничего не надо. Положите в .htaccess код:

RewriteEngine On
RewriteBase /
RewriteRule ^([0-9]+)/$ /text/text.php?kat=$1
RewriteRule ^([0-9]+)/([0-9]+)/$ /text/text.php?kat_s=$1&id_st=$2
Проектирование и разработка сложных IT-систем. Вожусь с проблемными задачами.
N0
На сайте с 20.08.2007
Offline
46
#5
wdsg:
Добавлять ничего не надо. Положите в .htaccess код:
RewriteEngine On

RewriteBase /
RewriteRule ^([0-9]+)/$ /text/text.php?kat=$1
RewriteRule ^([0-9]+)/([0-9]+)/$ /text/text.php?kat_s=$1&id_st=$2

Попробовал ничего не получилось.

JTRTA
На сайте с 06.07.2008
Offline
25
#6

Просто, изменяя RewriteRule ЧПУ вы не добьетесь, надо чтобы все ссылки генерируемые вашим движком имели ЧПУшный вид.

я например использую, 1 точку входа index.php, таким способом:


RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [L,QSA]

и в скрипте уже разбираю параметры через $_SERVER['REQUEST_URI']. и в скрипте же слежу за выводом всех внутренних ссылок.

Дизайн /ru/forum/493415 (/ru/forum/493415) Верстка от 15$ /ru/forum/509339 (/ru/forum/509339) Сайты под ключ aiogino.studio@gmail.com icq: 460146806
mgarkunov
На сайте с 23.03.2009
Offline
130
#7
Nik007:
Да двиг самописный, что нужно добавить?

Как минимум нужно добавить генерацию урлов в соответствии с правилами в .htaccess.

Или как вариант все правила адреса передавать в CMS, чтобы она все разруливала (так сдалено в Wordpress)

wdsg
На сайте с 09.02.2009
Offline
31
#8

Так, стоп, а Вы сами ссылки не изменили? :) Директивы .htaccess отвечают только за преобразование входящих запросов. Вам необходимо привести все ссылки к новому формату.

N0
На сайте с 20.08.2007
Offline
46
#9
wdsg:
Так, стоп, а Вы сами ссылки не изменили? :) Директивы .htaccess отвечают только за преобразование входящих запросов. Вам необходимо привести все ссылки к новому формату.

После добавления изменений в .htaccess

RewriteEngine On

RewriteBase /

RewriteRule ^([0-9]+)/$ /text/text.php?kat=$1

RewriteRule ^([0-9]+)/([0-9]+)/$ /text/text.php?kat_s=$1&id_st=$2

ссылка

http://site.ru/text/text.php?kat=8

должна также работать в следующем виде

http://site.ru/text/8

Я правильно понял?

Nik007 добавил 07.08.2009 в 15:30

http://site.ru/text/8

http://site.ru/8

Not Found

JTRTA
На сайте с 06.07.2008
Offline
25
#10

если не ошибаюсь, правило ^([0-9]+)/$ надо писать в виде ^[\w\./]+([0-9]+)$.

^([0-9]+)/$ находит только строку состоящую из одних цифр а передается все-таки еще некоторое количество символов относящихся к домену...

12

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