[mod_rewrite] [base] IE nie rozumie base?

0

Witam was... chciałem zmienić adresy na stronie na bardziej przyjazne. Udało mi się to tylko teraz mam problem bo wiadomo, że po zmianie adresów wszystkie linki również odnoszą się do nowego adresu. Aby temu zapobiec stosuje się <base href="XXX">. Dla niektórych może sprawę rozjaśni przykład

Strona do tej pory
<url>www.gryz.pl/gierka-2123-1231.html </url>
została zmieniona na
<url>www.gryz.pl/gierka/2123/1231/</url>

teraz gry strona <url>gierka-2123-1231.html</url> próbuje załadować plik <url>style.css</url> to odwołuje się do
<url>www.gryz.pl/gierka/2123/1231/style.css</url> a powinno do <url>www.gryz.pl/style.css</url>

Wyczytałem na internecie ze powinno się zastosować <base href="http://www.gryz.pl/"> Zrobiłem tak i poskutkowało dla wszystkich przeglądarek oprócz IE.

Tutaj podaje adres strony (sprawdźcie w ff lub operze a potem w ie)
http://www.gryz.pl/gry/2/strona/5

W czym rzecz? Czy dla IE jest jakiś hack? A może ja coś źle robię? Zauważyłem, że w źródle prawidłowo i IE i FF ma lik w postaci . Niestety IE odczytuje go jako . FF nie ma problemu i rozumie to jako (widać to w pasku statusu)

Pozdrawiam
Liczę na pomoc fachowców :)
Miedziol

0

IE oczywiście leje sobie na poprawność HTML 4.1, ale co im tam... Mają własne standardy. Tak powinien wyglądać kompatybilny zapis:
<base href="http://4programmers.net/"><!--[if IE]></base><![endif]–>

0
Demonical Monk napisał(a)

<base href="http://4programmers.net/"><!--[if IE]></base><![endif]–>

Dzięki wielkie Monk :) pomysł jest dobry tylko niestety nadal nie działa. Może macie jeszcze jakieś sugestie?

0

No to nie wiem. Jak tak nie działa to powód może być jeden - IE nie obsługuje tego tagu. Nie możesz zmienić linków na poprawne?
Poza tym wg. mnie przepisywanie linku 123-123-gierka.html na gierka/123/123/index.html mija się z celem, ponieważ google i tak nie widzi żadnych sensownych opisów w adresie. Równie dobrze możesz zrobić tak: Gra-w-nawalanie-glowa-w-mur,gierka,123,123.html

0
Demonical Monk napisał(a)

No to nie wiem. Jak tak nie działa to powód może być jeden - IE nie obsługuje tego tagu. Nie możesz zmienić linków na poprawne?

Zrobił bym to tylko jest ich około kilku tysięcy w różnych plikach... Ale wiecie co zaważyłem... w firebugu jak rozwinelem strukture HTML to znacznik <base> był wewnątrz <head> czyli dobrze...
Ale jak zobaczyłem w IE Developer Toolbar to wszystkie znaczniki meta, base itp oprocz title były w BODY - co nie jest prawidłowe. Pomyślałem, że może to wina tego narzędzia tego IE Developer, ale na innych stronach jest normalnie...
Proszę sprawdźcie to... Czy u was też tak jest? Jeżeli tak to skąd się może to brać? Jak to zmienić?

0

Nie będę Ci polecał validatora w3c bo już nawet google nie jest zgodne z tą specyfikacją. Sprawdź czy wszystkie tagi są prawidłowo zamknięte. Innego pomysłu nie mam.

1 użytkowników online, w tym zalogowanych: 0, gości: 1