Помощь по ЧПУ

J
На сайте с 21.01.2010
Offline
38
488

Всем привет. Подскажите как сделать ЧПУ с адресов вида:

www.site.com/#!/home на www.site.com/index.html

и

www.site.com/#!/auto на http://www.site.com/auto

Заранее благодарен.

[umka]
На сайте с 25.05.2008
Offline
456
#1

Если коротко, то никак.

Анкор не передаётся на сервер.

Если вы имеете в виду не ЧПУ, а редиректы, то только с помощью JavaScript.

Лог в помощь!
J
На сайте с 21.01.2010
Offline
38
#2
'[umka:
;13302541']Если коротко, то никак.
Анкор не передаётся на сервер.

Если вы имеете в виду не ЧПУ, а редиректы, то только с помощью JavaScript.

Можно редирект, подскажите как это сделать через скрипт.

[umka]
На сайте с 25.05.2008
Offline
456
#3

Примерно так:

var hash=location.href.substring(location.href.indexOf("#")+1);

if (hash=='!/home') {
location.href='/index.html';
} else if (hash=='!/blablalba…') {
location.href='/blablabla….html';
}
J
На сайте с 21.01.2010
Offline
38
#4

В таком случае, скрипт перекидывает на несуществующую страницу, а должен просто меняться урл с #!/home на index.html и т.п

[umka]
На сайте с 25.05.2008
Offline
456
#5
Jekis:
В таком случае, скрипт перекидывает на несуществующую страницу, а должен просто меняться урл с #!/home на index.html и т.п

Так перекидывайте на существующую, речь же шла о редиректе.

Редирект — это и есть "перекидывание".

Если нужна просто замена url в браузере, делайте history.replaceState().

Только работать оно будет не во всех браузерах. И не понятен смысл этой затеи.

J
На сайте с 21.01.2010
Offline
38
#6
'[umka:
;13304835']Так перекидывайте на существующую, речь же шла о редиректе.
Редирект — это и есть "перекидывание".

Если нужна просто замена url в браузере, делайте history.replaceState().
Только работать оно будет не во всех браузерах. И не понятен смысл этой затеи.

Хотел ещё 301 редирект сделать, но т.к через htaccess это сделать не получится, то и смысла нет в данной затеи. Смысл был таков, чтобы убрать /#!/ из url.

[umka]
На сайте с 25.05.2008
Offline
456
#7

Чтобы убрать "#что-то" из URL-а, нужно убрать все ссылки на этот URL.

Никаких редиректов и несуществующих страниц для таких URL-ов не выдать, потому что на сервер не передаётся "#что-то" (см. пост №2).

J
На сайте с 21.01.2010
Offline
38
#8
'[umka:
;13304893']Чтобы убрать "#что-то" из URL-а, нужно убрать все ссылки на этот URL.
Никаких редиректов и несуществующих страниц для таких URL-ов не выдать, потому что на сервер не передаётся "#что-то" (см. пост №2).

Ок спасибо! Оставим как есть.

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