Zobacz pełną wersję : Strona błędu 404 w głównej treści witryny
Tworzymy artykuł z dowolna zawartością (odnośnikiem do mapy witryny, strony głównej, wstawionym modułem, itd.), który będzie wyświetlał się w przypadku wystąpienia błędu.
Tworzymy menu ukryte (nigdzie nie wyświetlane, nieopublikowane), a w nim nową pozycję, do której przypisujemy artykuł ze stroną błędów. W moim przykładzie utworzony alias pozycji menu to xxxxx.
Do głównego folderu szablonu wgrywamy plik error.php z zawartością:
<?php
defined( '_JEXEC' ) or die( 'Restricted index access' );
if (($this->error->code) == '404') {
header('Location: ' . '/xxxxx');
exit;
}
?>
Już.Artykuł ze stroną błędu powinien mieć ustawione noindex, follow - wujaszek go nie zindeksuje.
Nie działa po zrobieniu literówki w rozszerzeniu: np. hhtml.
//
Zadziała po dopisaniu do pliku .htaccess:
ErrorDocument 404 /xxxxx.html
ale co masz na mysli alias menu ? niewiem co źle robię ale to niedziała....
utworzyłem artykuł nigdzie go nie przypisałem jest w nim pewna treść, stworzyłem nowe menu potem utworzyłem moduł menu i przypisałem na niewidoczna pozycję wgrałem plik error.php na serwer
<?php
defined( '_JEXEC' ) or die( 'Restricted index access' );
if (($this->error->code) == '404') {
header('Location: ' . '/index.php?option=com_content&view=article&id=13'); // (próbowałem takżę adresu xxxxxxx/error-404.html takżę nie działa )
exit;
}
?>
Ja niewiem o co chodzi proszę o pomoc.
Musisz pzeniść plik error.php w katalogu templates/system/ do katalogu templates/{nazwa używanego przez Ciebie szablonu}/ i zmodyfikować jego zawartość, żeby przypominała wyglądem stronę, wtedy Joomla automatycznie wyświetli stronę błędu dla błędów 403, 404 i 500.
Podany w pierwszym poście sposób działa: wyświetla utworzoną wcześniej stronę błędu 404 (zwykły artykuł) w głównej treści witryny.
Zrób wszystko po kolei zgodnie z tym, co napisałem.
Alias to alias, ustawiasz go w szczegółach pozycji menu.
wielkie dzięki Panowie teraz wszystko działa :D Wiedziałem że pomożecie :D Wielkie dzięki!! :up:
xxxxx.html
A jeżeli nie mam włączonych prostych adresów? Mogę wpisać np. "index.php?option=com_content&view=article&id=51" w htaccess czy nie?
Pzdr.
A jeżeli nie mam włączonych prostych adresów? Mogę wpisać np. "index.php?option=com_content&view=article&id=51" w htaccess czy nie?
Pzdr.
Nigdy nie korzystałem z tej metody własnych strona z błędami ale sposób podany przeze mnie działa niezależnie od tego czy korzysta się z normalnych czy z prostych adresów.
Odpowiadając na Twoje pytanie, powinno to zadziałać - osobiście nie sprawdzałem.
EDIT:
Ewentualnie użyć dodatkowo JRoute tak dzast in kejs - szukajka na docs.joomla.org się kłania ; )
Ewentualnie użyć dodatkowo JRoute tak dzast in kejs - szukajka na docs.joomla.org się kłania ; )
Nie chcę dodatkowych narządziów do tego, aż tak mi nie zależy na prostych adresach :)
Dzięki za cenne wskazówki :up:
Spróbowałem ominąć pkt 2. ...
2. Tworzymy menu ukryte (nigdzie nie wyświetlane, nieopublikowane), a w nim nową pozycję, do której przypisujemy artykuł ze stroną błędów. W moim przykładzie utworzony alias pozycji menu to xxxxx.
... i mi się udało ;)
Używam prostych adresów więc wystarczyło stworzyć nieprzypisany artykuł i w kodzie wstawić id artykułu
<?php
defined( '_JEXEC' ) or die( 'Restricted index access' );
if (($this->error->code) == '404') {
header('Location: ' . '/home/id_artykulu');
exit;
}
?>
Może ktoś skorzysta z mojej podpowiedzi :)
pzdr/joe
ZacnyUser
21-02-2011, 05:54
Zadziała po dopisaniu do pliku .htaccess:
ErrorDocument 404 /xxxxx.html
Nie mam praw do zmiany tego pliku, a chmodow też zmienić nie mogę.
Bo mówimy oczywiście o pliku przed głównym katalogiem na serwerze, prawda?
W ogóle ten plik jest pusty, muszę zmienić chyba firmę hostingową.
Bo mówimy oczywiście o pliku przed głównym katalogiem na serwerze, prawda?
w głównym katalogu joomli masz plik .htaccess ( htacces.txt jeśli nie używasz prostych adresów - wtedy poczytaj co z tym zrobić ;) ) i to w nim masz dopisać w/w kod
a tak przy okazji u mnie działa bez ingerencji w .htaccess
ZacnyUser
21-02-2011, 21:50
w głównym katalogu joomli masz plik .htaccess ( htacces.txt jeśli nie używasz prostych adresów - wtedy poczytaj co z tym zrobić ;) ) i to w nim masz dopisać w/w kod
a tak przy okazji u mnie działa bez ingerencji w .htaccess
Tak zrobiłem, dziękuję bardzo. ;)
Wujaszek google uporczywie sprawdza mi strony, których w systemie nie mam. Podaje że 5000 stron zgłosiło błąd 404. Mam zamiar przekierować błąd 404 na na przykład stronę główną. Czy zrobię błąd?
A może ktoś ma pomysł jak spowodować aby google nie sprawdzał stron nie istniejących.
pozdro
Proszę o przykład jak i gdzie wstawić atrybut nofollow dla 404. Z góry dziękuję i pozdrawiam :)
big_krzysiek
05-11-2012, 19:27
Witaj...a co to za hosting, w którym nie możesz zmienić chmod-ów.
Plik .htaccess o którym piszesz to plik w głównym katalogu Joomla.
Jeśli chcesz zrobić własna stronę błędu 404, a masz z tym problemy doinstaluj np. komponent error 404 do pobrania na JED
Hej, hosting 1&1, a ze stronki wywaliłem kilka starych zakładek więc wujaszek wyświetla je jako błędy indexowania. Do .htaccess dodałem co trzeba, plik error.php i sitemap również zrobione i hula, ale za diabła nie wiem co i gdzie mam wpisać, żeby boty wujka nie widziały tej 404 co dodałem. Po prostu nie ogarniam :zagubiony: Wiem ile muszę, a chetnie bym sie dowiedział więcej, więc proszę o podpowiedź :)
big_krzysiek
05-11-2012, 22:04
Jeśli masz własną stronę błędów error.php wstaw tam w head komendę <meta name="robots" content="noindex, nofollow" />
W pliku robots.txt możesz zablokować twój plik błędu
W narzędziach administracyjnych Google "zbić" stronę błędu niżej
O to chodzi :up: Dzięki i pozdrawiam :)
ariel_matrix
31-01-2013, 22:21
witam,
da się zrobić tak, aby zamiast wyswietlania strony błędu przenosiło automatycznie do strony startowej?
big_krzysiek
31-01-2013, 22:42
Tak... dopisz w pliku .htaccess kod:
ErrorDocument 404 /index.php
ariel_matrix
31-01-2013, 22:54
nie działa :/
http://hotele-spa.info
big_krzysiek
31-01-2013, 23:12
No tak...teraz już coś wiadomo o hostingu...
Na Home wpis powinien wyglądać tak:
ErrorDoc 403 http://hotele-spa.info
informacja ze strony home.pl (http://home.pl/dokumentacja/funkcjeserwera/htaccess/stronybledow)
ariel_matrix
31-01-2013, 23:22
pewnie dlatego tez inne sposoby nie działały ;/ ten home, ale da się do niego przyzwyczaić :))
//nie działa dalej..
pablo741
27-08-2013, 21:53
przepraszam za odkopanie tematu
ale ten sposób u mnie nie działa
wyświetla mi się komunikat Fatal error: Cannot access protected property JException::$code in (sciezka do pliku error.php)
co jest nie tak?
joomla 2.5, hosting 1&1
vBulletin® v4.2.5, Prawa przedruku © 2024 vBulletin Solutions, Inc. Wszystkie prawa zastrzeżone.
Tłumaczenie: Polskie Centrum Joomla!