Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Przyjazne linki na stronie
albwikesl
post
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 2.06.2014

Ostrzeżenie: (0%)
-----


Witam, stworzyłem sobie stronkę w html'u, jednak mam problem z tzn. przyjaznymi linkami.
Moja strona składa się z strony głównej i kliku podstron. Na razie udało mi się przekierować stronkę o adresie www.mojadomena.pl na mojadomena.pl. Jednak mam inny problem - mianowicie adresy moich podstron mają na końcu rozszerzenia html, np. mojadomena.pl/kontakt.html. Chciałbym pozbyć się tego rozszerzenia, ale w taki sposób, że jeżeli ktoś wpisze w pasku adresu mojadomena.pl/kontakt.html zostanie przekierowany automatycznie na mojadomena.pl/kontakt - mam nadzieję, że wiecie w czym jest rzecz.
Mój plik htaccess wygląda teraz tak:

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^mojadomena.pl [NC]
RewriteRule ^(.*)$ http://mojadomena.pl%{REQUEST_URI} [R=301,L]
RewriteRule ^index.html$ http://mojadomena.pl [R=301,L,NC]

RewriteRule ^(contact|how-to-use|terms-service|index)$ $1.html

Ostatnia linijka pozwala na adresy typu mojadomena.pl/kontakt, lecz po wpisaniu mojadomena.pl/kontakt.html strona także istnieje, więc występuje "duplicate content".
Mam nadzieję, że wystarczająco jasno napisałem co chciałbym osiągnąc i ktoś będzie w stanie mi pomóc.
Z góry dziękuje za wszystkie odpowiedzi, które pomogą mi rozwiązać mój problem (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
trueblue
post
Post #2





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


RewriteRule /(contact|how-to-use|terms-service|index).html$ /$1 [L,R=301]
Go to the top of the page
+Quote Post
albwikesl
post
Post #3





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 2.06.2014

Ostrzeżenie: (0%)
-----


Po wstawieniu tego kodu do htaccess nie działają w ogóle linki w formie mojadomena.pl/kontakt. Dostęp do strony jest możliwy tylko przez mojadomena.pl/kontakt.html :/
Go to the top of the page
+Quote Post
trueblue
post
Post #4





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


A usunąłeś ostatnią regułę ze swojego przykładu?
Go to the top of the page
+Quote Post
albwikesl
post
Post #5





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 2.06.2014

Ostrzeżenie: (0%)
-----


Tak, zamieniłem ją z tą co podesłałeś (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
trueblue
post
Post #6





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


Ok, to wrzuć tu jak teraz wygląda cały htaccess.
Go to the top of the page
+Quote Post
albwikesl
post
Post #7





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 2.06.2014

Ostrzeżenie: (0%)
-----


Proszę bardzo:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^mojadomena.pl [NC]
RewriteRule ^(.*)$ http://mojadomena.pl%{REQUEST_URI} [R=301,L]
RewriteRule ^index.html$ http://mojadomena.pl [R=301,L,NC]


RewriteRule /(contact|how-to-use|terms-service|index).html$ /$1 [L,R=301]

Już poradziłem sobie z tym, lecz mam jeszcze jeden problem.
Chciałbym, aby adresy mojadomena.pl/kategoria/zmienna/costam byly przekierowywany na mojadomena.pl/zmienna/costam (usuniecie "kategoria" z adresu).
Zastosowałem coś takiego:
RewriteRule ^kategoria/(.*)/(contact|how-to-use|terms-service|index)$ $1/$2.html
Niby działa, bo przekierowuje na: /zmienna/podstrona.html, ale przeglądarka wywala błąd "Not Found" - nie rozumiem dlaczego, proszę o pomoc.
Go to the top of the page
+Quote Post
trueblue
post
Post #8





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


http://stackoverflow.com/a/15343741

P.S. Nie wiem dlaczego przepisujesz adresy bez ".html" na z ".html". W pierwszym poście pisałeś, że chcesz osiągnąć efekt odwrotny.
Go to the top of the page
+Quote Post
albwikesl
post
Post #9





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 2.06.2014

Ostrzeżenie: (0%)
-----


Tak jak pisałem, z tym już sobie poradziłem, a linijkę, którą wkleiłem dałem tylko do wglądu, aby rozwiązać problem tego, że po zmianie linka dostaje błąd 404.
Dziękuje za odpowiedzi, mam nadzieję, że link który mi podesłałeś rozwiąże sprawę (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.09.2025 - 05:19