Groomsha

Рейтинг
0
Регистрация
06.01.2014
siv1987:
Редирект со всех урл который содержит указанный параметр не факт что это идеал. Все зависит от задачи, если у вас это только search.php нет смысла ставить на все.

Учту - спасибо!

дело в том что в вашем примере url изменяется на http://test1.ru/compare/search.php и тогда нужно добавлять для верности еще одно правило

RewriteRule ^ http://test1.ru/hash/%1? [NC,L]
или я что-то недопонимаю)))

P.S. И все же как сделать что бы url при этом оставался прежним, а контент как теперь уже новый.

На примере как здесь:

http://gwt.googleusercontent.com/samples/Showcase/Showcase.html#!CwFileUpload

Если заменить #! на ?_escaped_fragment_= То смена на странице идет только контента но не адреса.

siv1987:
Отдать или редиректить, потому что это могут быть две разные вещи.

Редирект

RewriteEngine On
RewriteCond %{QUERY_STRING} _escaped_fragment_=([^&]+)
RewriteRule ^search\.php http://test1.ru/hash/%1? [R=301,L]

Реврайт, если что, сделайте по аналогии, без R=301 и в зависимости где физически расположен файл http://test1.ru/hash/hash1.html

Спасибо, часть подошла, другую доделал через тестер http://htaccess.madewithlove.be/

В идеале вышло

RewriteEngine On

RewriteCond %{QUERY_STRING} _escaped_fragment_=([^&]+)
RewriteRule ^ http://test1.ru/hash/%1? [NC,L]

Вы правы, не правильный речевой оборот написал) Именно отдать страницу (http://test1.ru/hash/hash1.html) с сохранением текущего url (http://test1.ru/compare/search.php?r=ade$da1A$ade$da2A$ade$da3A#!hash1.html) Не подскажите, чем заменить окончание правила?

siv1987:
Что-то ничего не понятно, с одного адреса перенаправляло на второй, при этом сохранялся третий. В htaccess хэш стринги вроде не обрабатываются если что.

Это два разных прямых адреса к одной и той же странице на AJAX

1. http://test1.ru/compare/search.php?r=ade$da1A$ade$da2A$ade$da3A#!hash1.html

2. compare.test1.ru/search.php?r=ade$da1A$ade$da2A$ade$da3A#!hash1.html

а это прямой путь к папке где лежат html страницы с полным контентом что выводиться через AJAX

http://test1.ru/hash/hash1.html

в идеале при заходе паука

compare.test1.ru/search.php?r=ade$da1A$ade$da2A$ade$da3A?_escaped_fragment_=hash1.html
сервер должен отдать страницу, что лежит по адресу
http://test1.ru/hash/hash1.html