Powrót do spisu działów > Theme`y > Instalacja, konfiguracja i PRZERABIANIE ShortUrli w AutoTheme
  Opublikowano 04-12-2005  Drukuj aktualną stronę
bobek358  E-mail autora  URL autora

Instalacja, konfiguracja i PRZERABIANIE ShortUrli w AutoTheme

Instalacja i konfiguracja

Standardowo instalujemy moduł AutoTheme (Opis dodawania modułu). Aby włączyć shorturle, upewnijmy się czy serwer wspiera funkcję mod_rewrite, bez niej nici z naszych krótkich adresów. Jeśli jednak mamy mod_rewrite włączony, wchodzimy w PA -> AutoTheme -> Extras i odnajdujemy linijkę AutoURLs oraz zaznaczamy opcję TAK. Nie należy się wylogowywać, bo póĹşniej może być problem i trzeba będzie męczyć się ręcznie grzebiąc w plikach. Obok widzimy link [konfiguracja], klikamy i ustalamy rozszerzenie naszych shorturli, do wyboru .phtml, .html i .htm. Przykładowo wybraliśmy .html. Kopiujemy plik html.htaccess z katalogu głównego modules lub w zależności od wersji AutoTheme znajdziemy go w głównym katalogu strony. Plik kopiujemy do głównego katalogu i zmieniamy nazwę na .htaccess. Teraz odświeżamy stronę i powinny pokazać się krótkie adresy. Jeśli jednak zamiast strony pojawia nam się Internal Serwer Error (error 500), otwieramy htaccess i usuwamy z niego linijki:
Option FollowSymLinks
oraz
php_flag session.use_trans_sid off
ale niestety wtedy będzie nam się pokazywać sesja na stronie głównej (index.html?MDPROSID=354dikds94j0t9sj4skg, czy coś podobnego). Utrudni to indeksację w google. Ale naszczęście występuje to tylko na stronie głównej, choć w przypadku aliasów na każdej podstronie. Najlepiej więc jest mieć domenę. Mamy więc już swoje shorturle.

Przerabianie shorturli

Jeśli nie podobają nam się standardowe shorurle (Article, Poll, mod-, Reviews, Downloads), możemy przerobić je na własne (Artykul, News, Ankieta, modul, Recenzje, Do Pobrania). Zapamiętaj najważniejsze, że funkcja Rewrite pozwala na maskowanie obojętnie jakich adresów, do jednego prawdziwego adresu może być kilka funkcji, np. dla user.php może być user.html, uzytkownik.html, users.html. Owieramy plik .htaccess i kopiujemy domyślne urle, zamieniając je naszymy. Posłużę się tu przykładem modułu Downloads:

Kod:
RewriteRule ^KrotkiURL([0-9]+).html$ modules.php?op=modload&name=Downloads&file=index&req=viewdownload&cid=$1 [L,NC,NS]

KrotkiURL oznacza jak kategoria ma zostać nazwana, a ([0-9]+) oznacza, że po KrotkiURL zostanie wskazany numer kategorii w downloadzie, za który odpowiada zmienna $1. Przykładem jest: Download-kategoria34.html, wtedy za KrotkiURL wstawiasz Download-kategoria. Można także zmienną $1 wstawić do środka urla, przykład:

Kod:
RewriteRule ^Kategoria-([0-9]+)-downloadu.html$ modules.php?op=modload&name=Downloads&file=index&req=viewdownload&cid=$1 [L,NC,NS]

To jeśli chodzi o kategorie. Sam moduł downloadu zamiast Downloads.html może wyglądać np. tak: DoPobrania.html, w tym wypadku do htaccess należy dodać linijkę:

Kod:
RewriteRule ^DoPobrania.html$ modules.php?op=modload&name=Downloads&file=index [L,NC,NS]

W tym przypadku nie ma zadnych zmiennych. Podałem przykład, funkcję tę można używać dla wszystkich modułów i ich kategorii, artykułów i wszystkiego. Jednak po samej zmianie w .htaccess podane linki nie zamienią się automatycznie. Zauważ, że w menu będziesz miał dalej Downloads.html, zmień w bloku na DoPobrania.html. Aby urle zmieniały się automatycznie, w przypadku AutoTheme otwieramy plik modules/AutoTheme/extras/md-pro/autourls.ext.php, a w przypadku modułu dp-Mod[Shorturls] plik functions.php w głównym katalogu strony. Odnajdujemy tam nazwy domyślne (Downloads, article, recommend_us itp.) i zastępiamy je tymi, które wpisaliśmy w .htaccess, czyli zamiast Article - Artykul, Poll - Ankieta, a dokładniej odnajdujemy linijkę: Kod: $search = array ( i zamieniamy lub deklarujemy nowe urle, np.: Kod: $prefix . 'index.php?newlang=([wd.:_/]+)"|', Ale to nie wszystko, ponieważ w okolicach linijki 234 musimy zadeklarować odpowiednik urla, który automatycznie będzie się zamieniał na stronie (preg_replace), np.: Kod: '"changelang-$1.'.$autourlsext.'"', Może się zdarzyć, że wszystkie urle na stronie nie zostaną zamienione, wtedy musimy zmienić w bloku z Downloads.html na DoPobrania.html, więc wchodzimy w edycję bloku i zmieniamy. Oto cały sekret. Efekty można zobaczyć na www.underflip.kom.pl, gdzie pozmieniałem wszystko według własnego uznania. Chyba pierwszy wpadłem na to jak pozmieniać te urle w PostNuke i Md-Pro, bo nigdy nie pasowały mi te domyślne. Miłego "rewritowania". Pozdrawiam


Autor: Bat