dachu
20.12.2011, 15:10:25
cześć
tworze do strony przyjazne linki SEO, wszystko pięknie działa, tylko jest jakiś problem, otórz, mam w menu np:
o firmie -> link URL przeglądarki po kliknięciu ma taką postać: mojastrona.pl/1/firma/
produkty -> mojastrona.pl/1/produkty/
oferta -> mojastrona.pl/1/oferta/
news -> mojastrona.pl/2/news/
problem się pojawia, taki, że jak klikne produkty a potem oferta to zlepiają mi sie w jedno, np:
mojastrona.pl/1/produkty/1/oferta/
itd:
mojastrona.pl/1/produkty/1/oferta/2/news/ - powoduje to, że strony nie wyświetlają się prawidłowo...
Z tego co widze, to tylko poprawnie działa na: Firefoxie i Safari, na pozostałych przeglądarkach lipa.
nie moge znaleźć błędu i dlaczego tak się dzieje?
Może ktoś miał podobny problem, prosze o pomoc.
qrooel
20.12.2011, 15:22:07
Pokaż może jakiś kod.
Być może masz problem ze ścieżkami względnymi.
dachu
20.12.2011, 15:44:57
Cytat(qrooel @ 20.12.2011, 15:22:07 )

Pokaż może jakiś kod.
Być może masz problem ze ścieżkami względnymi.
plik .htaccess:
IndexIgnore *
<Files .htaccess>
order allow,deny
deny from all
</Files>
RewriteEngine on
# Artykuły
RewriteRule ^([^-]+)/([^-]+)/([^-]+)/([^-]+).html$ ?idm1=$2&id=$3 [L]
# Nota prawna
RewriteRule ^NotaPrawna.html$ ?idm1=11 [L]
# Wyszukiwarka
RewriteRule ^Wyszukiwarka.html$ ?idm1=search [L]
Magic WWW
20.12.2011, 17:24:42
Przekierowania w jaki sposób Pan robi? Chodzi mi dokładnie o zawartości atrybutu href w tagu a. Linki powinny być bezwzględne tzn.
ŹLE: href="/1/produkty/1/oferta/"
DOBRZE href="www.domena.pl/1/produkty/1/oferta/"
dachu
21.12.2011, 10:17:25
Cytat(Magic WWW @ 20.12.2011, 17:24:42 )

Przekierowania w jaki sposób Pan robi? Chodzi mi dokładnie o zawartości atrybutu href w tagu a. Linki powinny być bezwzględne tzn.
ŹLE: href="/1/produkty/1/oferta/"
DOBRZE href="www.domena.pl/1/produkty/1/oferta/"
dzięki działa
IceManSpy
21.12.2011, 11:29:18
Cytat(Magic WWW @ 20.12.2011, 17:24:42 )

Przekierowania w jaki sposób Pan robi? Chodzi mi dokładnie o zawartości atrybutu href w tagu a. Linki powinny być bezwzględne tzn.
Chyba nie powinny być bezwzględne. Jakbyś chciał zmienić adres to co wtedy? Musisz wszędzie zmienić ten wpis. Jak będziesz używał takiego zapisu:
/1/produkty/1/oferta/
To zawsze będzie się odwoływał wg bazowego adresu. Np:
/1/produkty
Wywoła: domena.pl/1/produkty
/1/oferta/
Wywoła: domena.pl/1/oferta/
nospor
21.12.2011, 11:31:56
@IceManSpy i dlatego przykładowo ja generuję linki przepuszczając je przez funkcję. Wówczas przy jakiejlkowiek zmianie robię to w funkcji a nie latam po kilkudzisięciu plikach i nie muszę się o nic martwić
przykład:
echo $niceUrl->Link('/1/produkty/1/oferta/');
Uriziel01
21.12.2011, 11:56:42
Nie jest tutaj nawet potrzebna funkcja, zwykła zadeklarowana stała wystarczy.
define('HTTP_SERVER', 'http://mojadomena/subdomena/');
Adresy generujesz wtedy tak:
url="' . HTTP_SERVER . '"produkty/32421326"
Ale w tej kwestii panuje całkowita dowolność, każdy robi to tak jako woli/lubi.
P.s-przepraszam za Offtopic.
nospor
21.12.2011, 12:39:24
Cytat
Nie jest tutaj nawet potrzebna funkcja, zwykła zadeklarowana stała wystarczy.
Jeśli chcemy tylko dołącząc domenę to tak, ale funkcja może nie tylko dołączać domenę, ale w zależności od parametrów generować różne ładne linki
Uriziel01
21.12.2011, 13:59:45
Z jednej strony masz rację i doskonale znam te technikę (Zaimplementowałem w moim FW ale teraz praktycznie jej nie używam, nie wiem czy powinenem się chwalić czy żalić), ale na prawdę nie bardzo rozumiem idee 'helperów' do tworzenia linków, rozumiem jakieś formularze, drzewa kategorii, nagłówki etc. ale URL tworzy się 'z palca' tak niewielkim nakładem prace że nie widzę zysku w stosowaniu konstrukcji stylu:
$myURL->link("produkty/4235235")->title("Popularne Produkty")->accesskey('p')->class("always_black");
Jest to może i czytelniejsze od normalnego zapisu, ale przy kilkunastu/dziesięciu linkach na stronę, tworząc takie ładne URLe przy każdym zapytaniu tracimy na wydajności. Może to moje zboczenie bo zazwyczaj pracuje przy projektach gdzie chcemy się zeskalować do dosyć sporej ilości req/s ale takie jest moje zdanie w tej materii.
nospor
21.12.2011, 15:05:08
Może po tym zrozumiesz mój punkt widzenia:
http://nospor.pl/ladne-urle.htmlprosty przykład: załóżmy że na początku linki do stron cms robiles tak: /nazwastrony/idstrony
No ale po jakimś czasie stwierdziłeś, że jednak takie będą lepsze: nazwastrony,idstrony.html
No i musisz teraz wszedzie latać i szukać linków /nazwastrony/idstrony i zamieniać je na nazwastrony,idstrony.html
Używając funkcji jedyna zmiana jaką byś musiał zrobić to zmiana w funkcji.
Poza tym ta klasa dekoduje też adresy i nie muszę się bawić w cuda na kiju w htaccess

A z tą wydajnością to przesadzasz moim zdaniem w tym przypadku.
wujek2009
24.12.2011, 20:39:31
a co z tagiem "base url" w sekcji head? wystarcz tam zdefiniować adres do serwisu i nawet nie będzie musiał dopisywać/modyfikować kodu aby dodać konkretny adres.
ciekawskiii
26.12.2011, 20:18:11
magicwww Ty nie jesteś raczej laikiem w php dlatego sie dziwie że podałeś takie rozwiązanie (pełny link), szczerze to najgłupsze rozwiązanie jakie może być.
Ja od zawsze używam linków np. /produkty/1 a w htacceśs mam RewriteBase / i nigdy nie miałem z tym problemów
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.