Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   .htaccess + <base> в IE (https://javascript.ru/forum/dom-window/37821-htaccess-base-v-ie.html)

Борис Низов 08.05.2013 15:50

.htaccess + <base> в IE
 
Добрый день!
Использую файл .htassecc чтобы преобразовывать
http://localhost/project/index.php?a=one&b=two
в
http://localhost/project/one/two/

В <head> документа вставил следующий код:
<base href=http://localhost/project/>

т.е. корневую директорию локалхоста где лежит сайт.
Соответственно, когда буду заливать сайт на хостинг - поменяю на необходимый адрес.
Ссылки, например, выглядят так:
<a href=one/two/>Ссылка</a>

Т.е. при нажатии на нее должен быть осуществлен переход на
http://localhost/project/one/two/

и Opera с Chrom'ом это прекрасно понимают.
IE же просто добавляет адрес ссылки к текущему адресу.
Если наш текущий URL, скажем
http://localhost/project/three/four/

то получается:
http://localhost/project/three/four/one/two/

еще раз нажимаем:
http://localhost/project/three/four/one/two/one/two/

и так далее, ну вы поняли.

Что я делаю не так? Как наладить сий процесс в IE?

skrudjmakdak 08.05.2013 15:58

>>>
Добрый день!
Использую файл .htassecc чтобы преобразовывать
http://localhost/project/index.php?a=one&b=two
в
http://localhost/project/one/two/

ну эт не javascript. т.е. за пределами этого форума..
а что делать, так это нужно прописать в файле .htaccess что то подобное:
RewriteEngine On
RewriteRule ^([a-zA-Z0-9_/-]+)$ /index.php?par_1=$1 [L]
AddDefaultCharset UTF-8

skrudjmakdak 08.05.2013 15:59

сервер же пхп'ный??

Борис Низов 08.05.2013 16:01

Скрудж, в файле все норм, все атрибуты есть..
Боюсь даже подумать, но, мне кажется, IE что-то понимает не так (

Борис Низов 08.05.2013 16:02

Опера и Кхром дают положительную оценку

skrudjmakdak 08.05.2013 16:06

честно с base никогда не работал((
но вот ссылка немного меня беспокоит: <a href=one/two/>Ссылка</a>
может так?: <a href=/one/two/>Ссылка</a>

Борис Низов 08.05.2013 16:17

О, Вы знаете, я локализовал проблему..
Дело именно в JS и моей, видимо, необразованности.
Ссылки как раз работают хорошо, даже в IE.
А вот из js кода..
Например:
document.location="one/two/"

Опера и Хром добавляют <base> и в JS код, а IE не хочет.

Как Вы считаете, каков выход?
Создать переменную и вставлять во все ссылки из js-кода?
var baselink = "http://localhost/project/"
document.location = baselink + "one/two/"

Подхода проще нет?

skrudjmakdak 08.05.2013 16:26

вот здесь я пас, я не знаю((
если никто больше не подскажет, значит делать надо как вы сказали..

Борис Низов 08.05.2013 16:34

Спасибо! :thanks:

danik.js 08.05.2013 22:34

Попробуй document.location.pathname = "one/two/"


Часовой пояс GMT +3, время: 01:02.