и еще раз о mod_rewrite

Ace
На сайте с 07.07.2003
Offline
119
Ace
3793

прочитал все, что было по mod_rewrite на этом форуме, еще на парочке других, и мануалки читал... но правильно прописать у меня не получается...

плз, помогите человеку с кривыми руками, что именно надо писать в .htaccess в папке folder, если есть следующие виды выдачи динамики:

http://domain/folder/?a=show&id=1

http://domain/folder/?a=show&type=1

хочу превратить их в

http://domain/folder/id/1

http://domain/folder/type/1

Спасибо!

UaMaster - 10 лет опыта в онлайн-продвижении в России (http://uamaster.ru) и Украине (http://uamaster.com). Интернет-агентство №1 по уровню удовлетворенности клиентов в Украине. Ведение рекламы в Яндекс.Директ без комиссии.
[Удален]
#1

RewriteEngine On

RewriteBase /

RewriteRule ^folder/([^/]+)/(.*)$ folder/?a=show&$1=$2 [L]

Ace
На сайте с 07.07.2003
Offline
119
Ace
#2

Interitus, огромное спасибо!

vmegap
На сайте с 03.02.2002
Offline
158
#4

Если подразумевается, что это общее правило для всех страниц Вашего сайта, то так переписать URL не получится.

Если URL переписать надо только для этих трех конкретных страниц, тогда возможно, разве что кроме последнего примера.

С уважением,

Виктор

LS
На сайте с 11.01.2004
Offline
163
#5

почему для всех не получится? нет, это не три страницы

может есть еще способ?

D
На сайте с 21.09.2003
Offline
53
#6
может есть еще способ?

Есть. Можно сделать mod_rewrite всех адресов на какую-нибудь одну страницу (например, index.php), а уж из нее с помощью php-скрипта включать нужные Вам файлы.

С уважением, DEkart Блог о Ruby on Rails (http://railorz.ru/) | Создание сайтов от 6999 рублей (http://lite.itvektor.ru)
LS
На сайте с 11.01.2004
Offline
163
#7

можно подробней?

Спасибо

[Удален]
#8

Странные вы...

RewriteEngine On

RewriteBase /
RewriteRule ^(\d+).html$ index.php?action=view&view=entry&entryid=$1 [L]
RewriteRule ^(\d+)/(\d+)/(\d+)/?)$ index.php?action=view&view=category&catid=$1&catflag=$2&sublevel=$3 [L]
RewriteRule ^(\d+)/(\d+)/(\d+)/(\d+)\.html$ index.php?action=view&view=category&catid=$1&catflag=$2&sublevel=$3&start=$4
D
На сайте с 21.09.2003
Offline
53
#9
можно подробней?

Правило:

RewriteRule ^(.+) /index.php?content=$1&%{QUERY_STRING} [L]

А потом в скрипте index.php обрабатываете параметр content. Тут можно извращаться как угодно. Этим способом можно обработать любой запрос к серверу, любого вида.

LS
На сайте с 11.01.2004
Offline
163
#10
Как писал Interitus
Странные вы...

RewriteEngine On

RewriteBase /
RewriteRule ^(\d+).html$ index.php?action=view&view=entry&entryid=$1 [L]
RewriteRule ^(\d+)/(\d+)/(\d+)/?)$ index.php?action=view&view=category&catid=$1&catflag=$2&sublevel=$3 [L]
RewriteRule ^(\d+)/(\d+)/(\d+)/(\d+)\.html$ index.php?action=view&view=category&catid=$1&catflag=$2&sublevel=$3&start=$4

Какие могут быть причины того что не работает? 😕

Спасибо!

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