Przyjazne URL'e w SMF

Zaczęty przez cakper, 13 Czerwiec 2007, 07:14

0 użytkowników i 1 Gość przegląda ten wątek.

cakper

Jeśli masz serwer postawiony na Apachu, a na nim forum dyskusyjne oparte o skrypt SMF to dobrym rozwiązaniem byłoby właczyć na forum opcję przyjaznych URL'i.
Po pierwsze URL'e w SMF nie są tworzone przez wpisy w pliku .htaccess, tylko przez sam skrypt, a co za tym idzie wymagane jest by PHP było uruchomione jako moduł Apacha. a nie jako PHP-CGI.

Jeśli nie wiesz/nie umiesz sprawdzić w jakim trybie jest uruchomione PHP to nic straconego.

Spróbujemy podziałać i bez tego.

Na początku przejdź do Administracji -> Opcje forum -> Podstawowe opcje.

Pod koniec listy powinno być pole wyboru:
Wyświetlaj adresy przyjazne wyszukiwarkom (bez znaku "?") - Zaznacz je.

Przjedź teraz w dowolny dział na swoim forum i sprawdź czy adresy zmieniły się.

Prykładowo powinno stać się coś takiego, stary adres wygladał tak: index.php?board=2.0, a nowy powinien tak:
index.php/board,2.0.html

Jeśli tak nie wygląda, to znaczy, że albo PHP działa jako CGI, albo, że skrypt nie umie tego rozpoznać.

Jeśli nie umie tego rozpoznać to spróbujemy go oszukać ;)

Edytuj plik Sources/Load.php i znajdź w nim następujące linie:

'is_apache' => isset($_SERVER['SERVER_SOFTWARE']) && strpos($_SERVER['SERVER_SOFTWARE'], 'Apache') !== false,
'is_cgi' => isset($_SERVER['SERVER_SOFTWARE']) && strpos(php_sapi_name(), 'cgi') !== false,


I zamień je na:
'is_apache' => true,
'is_cgi' => false,


W ten sposób wmawiamy serwerowi, że PHP jest modułem Apacha :)

Sprawdź czy twoje linki działają prawidłowo! Generować prawidłowo będą się na pewno, ale mogą nie dzialać.

Objawem niedziałania tego na serwerach Dreamhost.com moze być komunikat:
No input file specified.

To teraz nasza ostatnia broń w walce z linkami! :)

Stwórz/edytuj plik .htaccess w głównym folderze twojego forum oraz dodaj w nim wpis:

AddHandler application/x-httpd-php .php

W ten sposób zmieniliśmy tryb działania PHP.

Zapisz i sprawdź czy teraz fora i tematy wyświetlają sie prawidłowo.
Jak najbardziej powinny, jeśli nie to już na prawde nie mam zielonego pojęcia co zrobić :)

Miłego dnia! :)


PS: Wpis byl zamieszczony na moim blogu, ale tu sie chyba bardziej przyda :)
Pomogłem? :) Odwdzięcz się + i odwiedź: Polskie forum użytkowników GIMPa

Kukis

Wywala mi w adresie:
www.forum.gigadownload.net.pl/index.php?www
+ błąd Internal Server Error ;)

Ale miejsza z tym - jak zrobić by w urlu była nazwa tematu a rozszerzenie tego by było .htm?

np. smf.pl/forum/nazwa-tematu.htm

Taka modyfikacja istnieje do np. phpBB by Przemo ;)


Pozdro :)

szybka_pl


Kukis

Compatible With:
1.1 RC3, 1.1, 1.1.1, 1.1.2, 1.1.3

na najnowszej też działa?

szybka_pl

Jakbyś wszedł na linka który podalem i zobaczył co jest w stopce strony głównej nie byłoby tego pytania - tak działa na mojej wersji 1.1.4

Kukis

a jak to zainstalować jak nie mam standardowego thema?

adres - www.forum.gigadownload.net.pl ;)

szybka_pl

Nie poprawnie zainstalwoales modyfikacje - zwroc uwage ze nie masz dostepu do drugich strony - gdy wiecej watków masz

Kukis

HELP ME :)

Może ktoś opisać po polsku od początku jak to zainstalować? ;)

mcfuck

wyskakują mi takie 2 rzeczy :
Wykonaj modyfikację     ./Sources/BoardIndex.php     Porażka
oraz
Wykonaj modyfikację     ./Sources/MessageIndex.php     Porażka


Natomiast reszta plików instaluje sie normalnie, jeśli mimo tych ostrzeżeń instaluje moda to i tak nie działa.
Proszę o wskazówkę, szukałem na forum ale na temat takich problemów z seo nie ma nic.

General_Depet

#9
Cytat: szybka_pl w  9 Grudzień 2007, 10:16
modul seo4smf

ja cos takiego mam u siebie:

przyklad: http://szybka.pl/forum/szklo_budolwane/szyby_kominkowe_robax-t4.0.html

No tak ale u Ciebie sukces jest połowiczny - przyjazne adresy działają ale nie wyświetlają się w liście działów/tematów. Chodzi generalnie o to żeby wyszukiwarka łapała takie adresy NA stronie a nie w oknie adresu Twojej przeglądarki. Powinno wyglądać mniej więcej tak > http://forum.generalsguild.com/index.php

Cytat: Kukis w  9 Grudzień 2007, 11:13
a jak to zainstalować jak nie mam standardowego thema?

adres - www.forum.gigadownload.net.pl ;)

Ten mod "działa" na wszystkich skórkach bo generalnie w pliki templatki nie ingeruje.

Cytat: Kukis w 10 Grudzień 2007, 13:19
HELP ME :)

Może ktoś opisać po polsku od początku jak to zainstalować? ;)

Niestety to nie jest takie proste. Standardowa procedura jest zawsze ta sama:

1. Sprawdź czy masz zainstalowanego apacha w odpowiedniej wersji i czy mod_rewrite jest włączony np. za pomocą phpinfo.php. Jeśli nie masz odpowiednio skonfigurowanego apacha to nawet nie próbuj instalować moda - wtedy musisz się zadowolić zwykłymi przyjaznymi adresami - trick w 1 poście.

2. Zainstaluj moda przez panel administratora. Jeśli wystąpi "porażka" - sprawdź plik i w miarę możliwości zastąp go z oryginalnego SMF 1.1.4 - nie zapomnij zrobić wpierw backupa !

3. Włącz "zwykłe" przyjazne linki w panelu. Zakładka: Opcje forum > Wyświetlaj adresy przyjazne wyszukiwarkom (bez znaku "?")

4. Wejdź w nowo powstałą sekcję Seo4SMF Admin w lewym menu (panel) i włącz moda (pierwsza opcja bodajże)

5. Wklej na dole tej zakładki dostosowany do Twoich potrzeb/ustawień kod pliku htaaccess.txt

6. Wyślij

7. Zmień CHMOD .htacces na 777 np. za pomoca komendy w Total Commander: CHMOD 777 .htaccess

Z moich obliczeń wynika ze masz jakieś 10-20% szans na to że mod zadziała  ;D. Jeśli nie działa - bawimy się plikiem .htaccess który znajdziesz na FTPie w katalogu z forum. Przede wszystkim zainteresuj się linią:

RewriteBase /

Jeśli Twoje forum posiada adres: hhtp://www.domena.pl/forum/ to powinno być:

RewriteBase /forum

Jeśli pomimo tego przy próbie wejścia na forum występuje błąd 500 - powróć do punktu 1 i sprawdź dokładnie czy masz dobrze skonfigurowanego apacha 2.0.

Jeśli samo forum działa ale nie działają linki do poszczególnych działów/topiców (błąd 404) - kombinuj z odpowiednim ustawieniem RewriteBaze / . Jeśli nadal nie działa upewnij się że w pliku konfiguracyjnym apacha httpd.conf masz AllowOveride All - jeśli None to zmień - system musi wiedzieć że ma czytać wszystko z pliku .htaccess.

Jeśli forum działa, przyjazne linki również działają ale przed kliknięciem widzisz w pasku przeglądarki dalej stary link - zainteresuj się plikiem QueryString.php a dokładnie:

Znajdź:
if (!empty($modSettings['queryless_urls']) && (!$context['server']['is_cgi'] || @ini_get('cgi.fix_pathinfo') == 1) && $context['server']['is_apache'])

Zastąp na:
if (!empty($modSettings['queryless_urls']) && ($context['server']['is_cgi'] || @ini_get('cgi.fix_pathinfo') == 1) && $context['server']['is_apache'])

Widziałem jeszcze kiedyś jak jednemu z userów pomogło gdy zastąpił w pliku .htacces:

RewriteCond %{QUERY_STRING} ^topic=([0-9]*).([0-9]*)
RewriteRule  ^(.*)$ seo4smf-redirect.php?t=%1 [R=301,L]


na:

RewriteCond %{QUERY_STRING} ^topic=([0-9]*).(.*)
RewriteRule  ^(.*)$ seo4smf-redirect.php?t=%1&o=%2 [R=301,L]


Jeśli nadal nie działa to pozostaje się już tylko zwrócić z pomocą na > http://www.webmasterstalks.com/seo-4-smf-b46.0/

Sam miałem z tym modem sporo problemów - wszystko działało prócz adresów zakończonych etykietami i zmienną "msg" - mam więc nadzieję że mój post się do czegoś jednak przyda.
Portal Gier Strategicznych | The Generals' Guild | Biblioteka Gier
http://generalsguild.com/

mcfuck

Mistrz!!!, działa, przynajmniej u mnie, dzięki za rozwiązanie problemu, myślę ze można przypiąć, na działach i tematach, dostajesz duuzego plusa bo te koncowki to bardzo wazna rzecz :)

szybka_pl

faktycznie u mnie jest ten problem dziekuje ze zwrociles na to uwage - bede szukal rozwiazania - bo wpsomnane przez Ciebie nie dziala - nie wiem jak z apachem

Kukis

#12
Mi przyjazne linki działają, przykład - www.gigadownload.net.pl :)
Właśnie tworzę serwisik ;)

Zabieram się do instalacji ;)


[edit]
Błąd bazy danych
Powtórzone wyst?pienie 'seo4smf_accented_enable' dla klucza 1
Plik: /home/accounts_k/kukis/public_html/forum/Packages/temp/install.php
Linia: 26

takie coś mi wyskoczyło (ponownie instaluję moda)
co mam zrobić?  ???

szybka_pl

U mnie tez już po problemie :) Kukis - bardzo ładna graficznie stronka

Kukis

jednak zawiera spoooro błędów jak narazie :]

To pomoże mi ktoś z tym błędem bazy danych?  :-[