Przekierowanie podstron 301 z id na bez id, Przekierowanie podstron w stylu index.php?id=czesci&lang=pl |
Przekierowanie podstron 301 z id na bez id, Przekierowanie podstron w stylu index.php?id=czesci&lang=pl |
21.08.2014, 18:37:36
Post
#1
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 6.02.2006 Skąd: Kielce Ostrzeżenie: (0%) |
Wita,
potrzebuję pomocy przy napisaniu odpowiednich reguł do przekierowania strony za pomocą 301. Poniżej użyty obecnie kod: Kod RewriteEngine On RewriteCond %{HTTP_HOST} ^atckaczmarczyk.pl$ RewriteRule ^(.*) [url="http://www.atckaczmarczyk.pl/$1"]http://www.atckaczmarczyk.pl/$1[/url] [QSA,L,R=301] RewriteRule ^([^.]+)/([^.]+)/$ index.php?page=$1&lang=$2 [L,N] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d Potrzebuję dodatkowo do tego dopisać przekierowania podstron poprzez 301 aby Google widział tylko maskowane adresy a stare adresy przekierować w celu przeniesienia siły SEO. Stary link który chcę przekierować: Kod http://www.atckaczmarczyk.pl/index.php?page=czescivw&lang=pl A to jest nowy link do którego to przekierowania ma prowadzić: Kod http://www.atckaczmarczyk.pl/czescivw/pl/ Chodzi o to aby nie istniał taki adres jak Kod http://www.atckaczmarczyk.pl/index.php?page=czescivw&lang=pl Gdy wpiszemy taki stary adres np. ręcznie powinien się automatycznie zmienić na nowy adres Kod http://www.atckaczmarczyk.pl/czescivw/pl/ Zgóry dziękuję za pomoc bo już tracę na to siły Ten post edytował sphinx 21.08.2014, 18:48:59 |
|
|
21.08.2014, 19:05:55
Post
#2
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) |
Kod RewriteRule ^([^/]*)/([^/]*)$ /index.php?page=$1&lang=$2 [L,R=301]
|
|
|
22.08.2014, 08:30:44
Post
#3
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 6.02.2006 Skąd: Kielce Ostrzeżenie: (0%) |
Hej,
może jest jeszcze coś nie tak, bo dostaję 404. Wyczyściłem pamięć podręczną. Zawsze zmieniam na 302 aby nie zapamiętywałą przeglądarka sobie już 301 bo wiem że z tym są problemy. Kod RewriteRule ^([^/]*)/([^/]*)$ /index.php?page=$1&lang=$2 [L,R=302] Może jakaś inna sugestia? |
|
|
22.08.2014, 10:14:42
Post
#4
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) |
pokaż cały htaccess
|
|
|
22.08.2014, 11:06:45
Post
#5
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 6.02.2006 Skąd: Kielce Ostrzeżenie: (0%) |
Ponizej cały kod jaki jest użyty w pliku
Kod RewriteEngine On
RewriteCond %{HTTP_HOST} ^atckaczmarczyk.pl$ RewriteRule ^(.*) http://www.atckaczmarczyk.pl/$1 [QSA,L,R=301] RewriteRule ^([^.]+)/([^.]+)/$ index.php?page=$1&lang=$2 [L,N] #RewriteRule ^([^/]*)/([^/]*)$ /index.php?page=$1&lang=$2 [L,R=302] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d |
|
|
22.08.2014, 11:21:30
Post
#6
|
|
Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) |
RewriteRule ^(.*) http://www.atckaczmarczyk.pl/$1 [QSA,L,R=301]
Brakje tutaj $ RewriteRule ^(.*)$ http://www.atckaczmarczyk.pl/$1 [QSA,L,R=301] poza tym, chyba powinno być bez domeny itd, czyli RewriteRule ^(.*)$ $1 [QSA,L,R=301] |
|
|
22.08.2014, 13:08:50
Post
#7
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 6.02.2006 Skąd: Kielce Ostrzeżenie: (0%) |
Nic z tego - nie działa.
Dodałem jedynie faktycznie znak dolara prze przekierowaniu bez www na z WWW. Więc aktualny kod wygląda następująco: Kod RewriteEngine On RewriteCond %{HTTP_HOST} ^atckaczmarczyk.pl$ RewriteRule ^(.*)$ http://www.atckaczmarczyk.pl/$1 [QSA,L,R=301] RewriteRule ^([^.]+)/([^.]+)/$ index.php?page=$1&lang=$2 [L,N] #RewriteRule ^([^/]*)/([^/]*)$ /index.php?page=$1&lang=$2 [L,R=302] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d Jakieś inne pomysły. Będę wdzięczny |
|
|
22.08.2014, 14:55:59
Post
#8
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Które przekierowanie nie działa?
Jeśli chodzi o przepisanie z przekierowaniem, z brzydkiego na ładne, to spróbuj dopisać to:
Przy czym to niekoniecznie musi działać, spotkałem się z przypadkiem, że wpada w pętlę przekierowań. P.S. Stosuj jednak 301, jeśli chcesz, tak jak piszesz, przenieść siły SEO. -------------------- |
|
|
23.08.2014, 08:07:35
Post
#9
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 6.02.2006 Skąd: Kielce Ostrzeżenie: (0%) |
Już prawie się udało.
Czyli kod powyżej działa na tyle, że faktycznie otrzymuję linki przyjazdne w postaci http://www.atckaczmarczyk.pl/ofirmie/pl/ a dodatkowo przekierowuje stronę jeżeli wpisuję stare linki w stylu: http://www.atckaczmarczyk.pl/index.php?pag...ivw&lang=pl na link przyjazdny czyli http://www.atckaczmarczyk.pl/czescivw/pl/ Jedyna teraz trudność to taka, że dostaję komunikat o błędzie 404 - strona nie istnieje. Jako adres takiej strony podany jest np. czescivw/pl/ Jakieś sugestie co może być tego przyczyną ? |
|
|
23.08.2014, 09:19:01
Post
#10
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Przy wczytywaniu strony otrzymujesz taki komunikat, czy jakiś element na stronie jest zwracany z takim statusem?
-------------------- |
|
|
25.08.2014, 08:37:06
Post
#11
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 6.02.2006 Skąd: Kielce Ostrzeżenie: (0%) |
Otórz strona główna poprawnie się wyświetlanie. Nie ma żadnych problemów.
Pojawia się on dopiero jak chcę przejść na podstronę. Jedyne co się wyświetla to jak na obrażku poniżej: |
|
|
25.08.2014, 08:59:57
Post
#12
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
I ten .htaccess jest obecnie na stronie?
Jeśli tak, to u mnie strona jest wyświetlana poprawnie. -------------------- |
|
|
25.08.2014, 09:10:55
Post
#13
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) |
U mnie też, istotny jest ostatni / na końcu adresu
|
|
|
25.08.2014, 11:28:11
Post
#14
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 6.02.2006 Skąd: Kielce Ostrzeżenie: (0%) |
Aktuwlnie jest wykomentowany.
Poniżej jak wygląda plik htacces teraz: Kod RewriteEngine On RewriteCond %{HTTP_HOST} ^atckaczmarczyk.pl$ RewriteRule ^(.*)$ http://www.atckaczmarczyk.pl/$1 [QSA,L,R=301] RewriteRule ^([^.]+)/([^.]+)/$ index.php?page=$1&lang=$2 [L,N] #RewriteRule ^([^/]*)/([^/]*)$ /index.php?page=$1&lang=$2 [L,R=302] #RewriteCond %{QUERY_STRING} ^page=(.+)&lang=(.+) #RewriteRule ^(.*)$ /%1/%2/? [L,R=302] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d Zatem kiedy zmieniam kod na taki: Kod RewriteEngine On RewriteCond %{HTTP_HOST} ^atckaczmarczyk.pl$ RewriteRule ^(.*)$ http://www.atckaczmarczyk.pl/$1 [QSA,L,R=301] RewriteCond %{QUERY_STRING} ^page=(.+)&lang=(.+) RewriteRule ^(.*)$ /%1/%2/? [L,R=302] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d Dostaję błąd 404 tylko dla podstron. Strona główna działa poprawnie. Ten post edytował sphinx 25.08.2014, 11:30:11 |
|
|
25.08.2014, 11:41:38
Post
#15
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Przekierowanie, które wcześniej podał Ci Pyton_000 ma zostać.
Mają być regułki dla ładnych adresów, jaki i to co ja Ci podałem (stąd wspomniałem, że może wpaść w pętlę przekierowań). -------------------- |
|
|
25.08.2014, 11:47:27
Post
#16
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 6.02.2006 Skąd: Kielce Ostrzeżenie: (0%) |
Trochę się zgubiłem.
Biorąc to do kupy jak powinien wyglądać kod? W takiej postaci jak poniżej nie działa. Nie doś że jest 404 to i nie przekierowuje starych adresów na nowe maskowane. Kod RewriteEngine On
RewriteCond %{HTTP_HOST} ^atckaczmarczyk.pl$ RewriteRule ^(.*)$ http://www.atckaczmarczyk.pl/$1 [QSA,L,R=301] RewriteRule ^([^/]*)/([^/]*)$ /index.php?page=$1&lang=$2 [L,R=302] RewriteCond %{QUERY_STRING} ^page=(.+)&lang=(.+) RewriteRule ^(.*)$ /%1/%2? [L,R=302] |
|
|
25.08.2014, 12:08:54
Post
#17
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Spróbuj tak:
Kod RewriteEngine On RewriteCond %{HTTP_HOST} ^atckaczmarczyk.pl$ RewriteRule ^(.*)$ http://www.atckaczmarczyk.pl/$1 [QSA,L,R=301] RewriteCond %{REQUEST_URI} ^([^/]*)/([^/]*)$ RewriteRule ^(.*)$ /index.php?page=%1&lang=%2 [L,R=301] RewriteCond %{QUERY_STRING} ^page=(.+)&lang=(.+) RewriteRule ^(.*)$ /%1/%2? [L,R=301] -------------------- |
|
|
25.08.2014, 12:36:28
Post
#18
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 6.02.2006 Skąd: Kielce Ostrzeżenie: (0%) |
Gubi się strasznie.
Po wpisaniu ręcznie adresu www.atckaczmarczyk.pl zaraz robi przekierowania na taki adres: http://www.atckaczmarczyk.pl/index.php?pag...;lang=index.php |
|
|
25.08.2014, 12:57:47
Post
#19
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Kod RewriteEngine On
RewriteCond %{HTTP_HOST} ^atckaczmarczyk.pl$ RewriteRule ^(.*)$ http://www.atckaczmarczyk.pl/$1 [QSA,L,R=301] RewriteCond %{REQUEST_URI} ^/(.+)/(.+)$ RewriteRule ^(.*)$ /index.php?page=%1&lang=%2 [L,R=301] RewriteCond %{QUERY_STRING} ^page=(.+)&lang=(.+) RewriteRule ^(.*)$ /%1/%2? [L,R=301] -------------------- |
|
|
25.08.2014, 13:10:55
Post
#20
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 6.02.2006 Skąd: Kielce Ostrzeżenie: (0%) |
Teraz wygląda to tak że strona główna oczywiście się ładuje.
Podstrona dostaje komunikat Nieprawidłowe przekierowanie Natomiast link w starym stylu: http://www.atckaczmarczyk.pl/index.php?pag...ivw&lang=pl nie są przepisywane na nowy skrócony wygląd. |
|
|
Wersja Lo-Fi | Aktualny czas: 25.04.2024 - 09:21 |