2014-01-06 4 views
0

Я понимаю, Google будет получать этот адрес и сделать запрос к серверу в таком виде: путь.htaccess перенаправляет _escaped_fragment_ =

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

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

сервера HTML http://test1.ru/hash/hash1.html (хэш/hash1.html)

нужна форма редирект

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

без изменения URL - compare.test1.ru/search.php?r=ade$da1A$ade$da2A$ade$da3A#!hash1.html

спасибо

+1

Я бы выбрал хед-бэнд (это ужасный взлом и штраф за выполнение загрузки начальной страницы, а затем загрузка Ajax на страницу замены может быть неприятной). Используйте [историю api] (https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Manipulating_the_browser_history), например [github do] (https://github.com/blog/760-The-дерево-слайдер). – Quentin

ответ

1

#!hash1.htmlникогда не отправляется на сервер, следовательно, нет ничего, что вы можете сделать на конце сервера, в PHP, или с помощью файла Htaccess, чтобы разобрать фрагмент URL. Вы только сможете это сделать в конце браузера, используя что-то вроде javascript.

+0

в .htaccess есть примерно короткий адрес, но, как на правом RewriteEngine На RewriteCond% {QUERY_STRING}^_escaped_fragment _ = (. *) $ RewriteRule^(. *) $/Хэш /% 1 [NC, L] http://test1.ru/?_escaped_fragment_=hash1.html - ОК! http://test1.ru/compare/search.php?r=ade$da1A$ade$da2A$ade$da3A?_escaped_fragment_=hash1.html - НЕТ!): – Groomsha

Смежные вопросы