Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów
Przekierowanie 301 podstron - Wersja do druku

+- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl)
+-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www)
+--- Dział: Początkujący webmaster (https://www.webmastertalk.pl/forum-poczatkujacy-webmaster)
+--- Wątek: Przekierowanie 301 podstron (/thread-przekierowanie-301-podstron)



Przekierowanie 301 podstron - sargon162 - 07-03-2012

Mam do przekierowania kilka podstron na nowe adresy:

http://betonowe-szamba.pl/oferta.html
http://betonowe-szamba.pl/oferta-szama.html

na

http://betonowe-szamba.pl/cennik-szamba-ceny/

ORAZ

http://betonowe-szamba.pl/o-firmie.html

na

http://betonowe-szamba.pl/o-firmie/

Jak to zapisać w .htaccess ?


RE: Przekierowanie 301 podstron - michalszyd - 07-03-2012

http://www.php.rk.edu.pl/w/p/modrewrite-krotkie-urle/

Ładnie i przyjemnie opisane


RE: Przekierowanie 301 podstron - sargon162 - 08-03-2012

Coś to nie chce działać. W podanym wyżej linku, gdy wpisywałem te komendy, a później gdy wpisałem betonowe-szamba.pl/index.php - pokazuje moją stronę główną, a gdy betonowe-szamba.pl/index.html - już błąd 404 (według poradnika miało pokazywać to samo)

Próbowałem też tego: http://adsecur.com/internet-domeny-hosting/technikalia-seo/przekierowanie-301/przekierowanie-podstrony-na-nowa-podstrone

Redirect permanent betonowe-szamba.pl/oferta.html
betonowe-szamba.pl/cennik-szamba-ceny

Pokazuje "Interial Server Error"

oraz

Options +FollowSymlinks
RewriteEngine on
RewriteRule betonowe-szamba.pl/oferta.html betonowe-szamba.pl/cennik-szamba-ceny

Nic się nie dzieje, gdy wchodzę na tą podstronę która powinna być przekierowana, pokazuje mi błąd 404.

oraz

RewriteEngine On
RewriteRule ^betonowe-szamba.pl/oferta.html /betonowe-szamba.pl/cennik-szamba-ceny [R=301,L]

Też nic się nie dzieje, i gdy wchodzę na tą podstronę która powinna być przekierowana, pokazuje mi błąd 404.

Mój plik .htaccess wygląda standardowo tak:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

Proszę o pomoc, jak mogę przekierować te podstrony, bo się na tym nie znam, a jest to dla mnie bardzo ważne.


RE: Przekierowanie 301 podstron - Engine - 08-03-2012

Kod:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteRule ^o-firmie.html?$ /o-firmie/ [R=301,L]
itd..., itd...

RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

lub w php
Kod PHP:
if ($_SERVER['REQUEST_URI'] == '/o-firmie.html') {
    
header("HTTP/1.1 301 Moved Permanently");
    
header("Location: http://twoja-domena.php/o-firmie/");
    
header("Connection: close");
    exit;




RE: Przekierowanie 301 podstron - sargon162 - 08-03-2012

Dzięki wielkie, DZIAŁA Big Grin

Ale pojawił mi się mały problem.

Wpisałem:

RewriteRule ^cennik.html?$ /cennik-szamba-ceny/ [R=301,L]

Później doszedłem że lepiej podstrona będzie się pozycjonować jeżeli będzie miła nazwę /cennik-zbiorniki-ceny/

Wiec poprzednie skasowałem, a wpisałem:

RewriteRule ^cennik.html?$ /cennik-zbiorniki-ceny/ [R=301,L]

Oczywiście zmieniłem też adres strony w CMSie.

Lecz

Gdy wchodzę na http://betonowe-szamba.pl/cennik.html to powinno mnie przekierować na http://betonowe-szamba.pl/cennik-zbiorniki-ceny/

Ale dziwnym trafem przekierowuje mnie na http://betonowe-szamba.pl/cennik-szamba-ceny/ mimo że w .htaccess jest inny zapis.

CO CIEKAWSZE

usuwam te wpisy z pliku .htaccess, zapisuje, i nadal strona reaguje na przekierowanie, niezależnie od tego czy jest zapis czy nie (?)

Tak jakby serwer zapamiętał to co wpisałem pierwszym razem, i teraz się tego trzyma, a ja tego nie mogę zmienić

Można to sprawdzić, aktualnie plik znowu wygląda tak:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

Ale gdy wpisze w przeglądarke http://betonowe-szamba.pl/cennik.html
przekierowuje mnie na http://betonowe-szamba.pl/cennik-szamba-ceny/

Z tych adresów też przekierowuje, ale na taki adres na jaki chce

http://betonowe-szamba.pl/oferta.html
http://betonowe-szamba.pl/oferta-szama.html




RE: Przekierowanie 301 podstron - Engine - 08-03-2012

A sprawdzałeś pod inną przeglądarka czy to nie wina cache przeglądarki. Polecam kombinację w FF: ctrl + f5


RE: Przekierowanie 301 podstron - sargon162 - 08-03-2012

Tak, masz racje to cache przeglądarki Smile

Odnośnie jeszcze tego .htaccess, gdzie tego typu rzeczy można się nauczyć? (poza studiami, chyba że może podyplomowe miałbym czas ukończyć)
Interesuje się tematem, i chętnie bym się więcej nauczył.