To jest tylko wersja do druku, aby zobaczyć pełną wersję tematu, kliknij TUTAJ
phpBB2 by Przemo
Support forów phpBB2 modified by Przemo

1.12.7 i starsze - Redirectus Przekierowanie na właściwy adres

tosiek - 03-04-2009, 17:06
Temat postu: Redirectus Przekierowanie na właściwy adres
Redirectus Przekierowanie na właściwe adresy
Modyfikacja która przekierowuje adresy do plików .php na adresy .htm. Domyślnie Spider Friendly tego nie ma.

Wymagany jest spider friendly lub te linijki w pliku .htaccess:
Kod:
RewriteCond   %{REQUEST_FILENAME} !-f
RewriteCond   %{REQUEST_FILENAME} (.*)\.htm
RewriteRule   ^(.+)\.htm(\?.*)? $1.php$2 [E=WasHTML:yes]
RewriteCond   %{ENV:WasHTML} ^yes$
RewriteCond   %{REQUEST_FILENAME} !-f
RewriteRule   ^(.+)\.php(\?.*)? $1.htm$2


Czy .htm lepiej się indeksuje niż .php nie wiadomo :)

Usuwa część duplicate content w google.

Otwórz plik includes/page_header.php i znajdź w nim linię:
$template->pparse('overall_header');

dodaj przed tą linią:
Kod:
$adress = $_SERVER["REQUEST_URI"];
if (preg_match("/(.*)\.php(.*)/", $adress)) {

    $adress = str_replace(".php", ".htm", $adress);
        header("HTTP/1.1 301 Moved Permanently");
        header("Location: http://tosiek.pl" . $adress);
        exit;
}


Pamiętaj aby zmienić http://tosiek.pl na adres twojego forum bez / (slasha, ukośnika) na końcu.

Zapisz plik i wgraj na serwer, wyczyść następnie cache i gotowe :)

Demo: http://bb2.tosiek.pl/profile.php?mode=register
Przekierowuje na .htm :)

fastlone - 03-04-2009, 17:19

Przeciez to jest w SF -.-
lui754 - 03-04-2009, 17:24

tosiek napisał/a:
Przeciez to jest w SF -.-


Niestety SF nie ma tego domyślnie. Sprawdź sam: http://symbiane.pl/groupcp.php
Nie zmienia adresu na: http://symbiane.pl/groupcp.htm

Tak więc modyfikacja jak najbardziej przydatna ;)

fastlone - 03-04-2009, 17:25

Chodzi w tej modyfikacji o to, ze nawet po wpisaniu groupcp.php przekieruje na htm?

Jesli tak to wielkie sry tosiek

maminowiec - 03-04-2009, 17:25

W SF jest przepisywanie adresów, a to jest przekierowanie
fastlone - 03-04-2009, 17:26

I do tego moda nie jest potzrebne SF?
MagicalFire - 03-04-2009, 17:33

lui754 napisał/a:
I do tego moda nie jest potzrebne SF?

właśnie o to chodzi ze jest potrzebny SF
tosiek, świetna robota

fastlone - 03-04-2009, 17:39

MagicalFire napisał/a:
właśnie o to chodzi ze jest potrzebny SF


No to juz nie rozumiem... Chodzi o to zeby nawet po wpisaniu koncowki .php zmienilo na .htm?

tosiek - 03-04-2009, 17:58

fastlone, zajrzyj w .htaccess od spider friendly to się dowiesz.

Nie trzeba mieć SF, wystarczy dodac do .htaccess:
Kod:
RewriteCond   %{REQUEST_FILENAME} !-f
RewriteCond   %{REQUEST_FILENAME} (.*)\.htm
RewriteRule   ^(.+)\.htm(\?.*)? $1.php$2 [E=WasHTML:yes]
RewriteCond   %{ENV:WasHTML} ^yes$
RewriteCond   %{REQUEST_FILENAME} !-f
RewriteRule   ^(.+)\.php(\?.*)? $1.htm$2


Ten mod przekierowuje z adresów np. login.php na login.htm, a te linijki wyżej przepisują tylko adresy więc bez przekierowania adres logowania znajduje się pod dwoma:
login.htm
login.php

Seba123 - 03-04-2009, 18:05

Pogięło Cię, aby w .tpl dodawać kod .php ?

[ Dodano: 03-04-2009, 19:05 ]
W page_header.php przed
Kod:
$adress = $_SERVER["REQUEST_URI"];
if (preg_match("/(.*)\.php(.*)/", $adress)) {

    $adress = str_replace(".php", ".htm", $adress);
        header("HTTP/1.1 301 Moved Permanently");
        header("Location: http://" . $board_config['server_name'] . $adress);
        exit;
}
i nawet nie trzeba nic w tym zmieniać.

tosiek - 03-04-2009, 18:09

Seba123, ale w którym to pliku dodać aby było zawsze tam gdzie overall_header jak nie w samym pliku ? i czemu nie dodawać php w tpl ?


jesteś pewien że wszyscy nie mają slasha na końcu w:
$board_config['server_name'] ? bo ja mam :)

Seba123 - 03-04-2009, 18:10

tosiek napisał/a:
overall_header jak nie w samym pliku
Zapomniałem dopisać ;)

tosiek napisał/a:
i czemu nie dodawać php w tpl ?
Bo do tego mamy pliki php i tpl. W tpl parsowany jest html, w php parsowany jest kod php.
tosiek - 03-04-2009, 18:21

Seba123 napisał/a:
Bo do tego mamy pliki php i tpl.

Poprawiona króciutka instrukcja. Jak ktoś chce może usunąć z overall_header.tpl i zainstalować w page_header.php.

Mario14125 - 04-02-2010, 22:31

Da się to wrzucić do phpBB 3.0.X :?: :P
tosiek - 05-02-2010, 21:05

Mario14125, możesz, powinno działać


Powered by phpBB modified by Przemo © 2003 phpBB Group