mor_rewrite работает наоборот

12
M
На сайте с 20.08.2007
Offline
7
#11

аха=) правильно поняли =)) вот, как это сделать, подскажите ?)

R2
На сайте с 01.02.2007
Offline
28
#12
Meitenite:
вот, как это сделать, подскажите ?)

А так:

RewriteEngine On

RewriteRule ^([^/]*)/([^/]*)\.html$ /index.php?link=$1&action=show&id=$2 [L]

не работает?

M
На сайте с 20.08.2007
Offline
7
#13

неа, не работает.

даже если обращаться http://localhost/xxx/1234.html - неверно отображается даже

R2
На сайте с 01.02.2007
Offline
28
#14

ну попробуйте для начала с общей конструкции:

RewriteBase /

RewriteRule ^(.*)/(.*)\.html$ index.php?link=$1&action=show&id=$2 [L]

M
На сайте с 20.08.2007
Offline
7
#15

понимаете, страница доступна по красивому адресу, но с некрасивого адреса она не редиректится на красивый....

а это правило RewriteRule ^(.*)/(.*)\.html$ index.php?link=$1&action=show&id=$2 [L] теряет часть контента ..

R2
На сайте с 01.02.2007
Offline
28
#16

Не понял :(

Meitenite:
понимаете, страница доступна по красивому адресу,

Без mod_rewrite ?

Meitenite:
но с некрасивого адреса она не редиректится на красивый

редирект с некрасивого на красивый :

RewriteRule ^index.php?link=(.*)&action=show&id=(.*)$ $1/$2.htm [R=301,L]

что-то типа этого...

НО! это только в том случае, если сразу же не делается обратная подстановка

(иначе пойдет зацикливание)

M
На сайте с 20.08.2007
Offline
7
#17
Raul21:
Не понял :(

Без mod_rewrite ?

с mod_rewrite , конечно же :)

RewriteEngine On

RewriteRule ^([^/]*)/([^/]*)\.html$ /index.php?link=$1&action=shwprd&id=$2 [L]

так страница доступна по обоим адресам, и по красивому и по некрасивому.

а обратная подстановка, это как ? и опчему зацикливание может происходить ? 😕

R2
На сайте с 01.02.2007
Offline
28
#18
Meitenite:
RewriteEngine On
RewriteRule ^([^/]*)/([^/]*)\.html$ /index.php?link=$1&action=shwprd&id=$2 [L]

так страница доступна по обоим адресам, и по красивому и по некрасивому.

Так эта конструкция работает? осталось добиться редиректа с некрасивого на красивый?

Попробуйте так:

RewriteRule ^([^/]*)/([^/]*)\.html$ /index.php?link=$1&action=shwprd&id=$2 [E=redir:yes,L]

RewriteCond %{ENV:REDIRECT_redir} !^yes$

RewriteRule ^index.php?link=(.*)&action=shwprd&id=(.*)$ $1/$2.htm [R=301,L]

M
На сайте с 20.08.2007
Offline
7
#19
Raul21:
Так эта конструкция работает? осталось добиться редиректа с некрасивого на красивый?
Попробуйте так:
RewriteRule ^([^/]*)/([^/]*)\.html$ /index.php?link=$1&action=shwprd&id=$2 [E=redir:yes,L]
RewriteCond %{ENV:REDIRECT_redir} !^yes$
RewriteRule ^index.php?link=(.*)&action=shwprd&id=(.*)$ $1/$2.htm [R=301,L]

всё равное не работает.

кста, а почему $1/$2.htm ?

Shtogrin
На сайте с 02.11.2006
Offline
95
#20

Вместо последнего RewriteRule используйте

...

RewriteCond ${QUERY_STRING} ^link=(.*)&action=shwprd&id=(.*)$

RewriteRule ^index.php$ %1/%2.htm [R=301,L]

www.shtogrin.com (http://www.shtogrin.com/). Канцтовары (http://www.invit.com.ua/). 1С Бухгалтерия (http://account.kiev.ua/).
12

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