PDA

Zobacz pełną wersję : Joomla 3.4.8 - Błąd 404 po usunięciu ID z linków artykułów



Yebaniutky
05-01-2016, 15:42
Witam Państwa,
stawiam swoje www na J 3.4.8. Chciałem sobie pięknie uporządkować nazwy linków poprzez proste adresy i usunięcie z linków znaczników ID danych artykułów. O tyle o ile proste adresy wyszły pięknie tak z numerami ID jest problem. Tzn. numery ID znikły z linków, ale za to po otwarciu artykułów wyskakuje "404 COM_CONTENT_ERROR_PARENT_CATEGORY_NOT_FOUND". Jest tak zarówno w przypadku artykułów utworzonych przed usunięciem nr ID jak również w nowo utworzonych.

Do usunięcia ID stosowałem opis znaleziony w sieci:
Krok drugi - modyfikacja pliku router.php

Otwórz plik w edytorze programisty. Polecam stary, sprawdzony i darmowy Notepad++ (http://notepad-plus-plus.org).
Odszukaj w linii 27 kod:
$advanced = $params->get('sef_advanced_link', 0); Zmień powyższy kod na:
$advanced = $params->get('sef_advanced_link', 1); Komentarz: jak widać, zmianie uległ tylko parametr 0 na 1.
Tak samo postępujemy w okolicy 260:
$advanced = $params->get('sef_advanced_link', 0);
Zmień powyższy kod na:
$advanced = $params->get('sef_advanced_link', 1); Następnie w okolicy linii 282 musimy odszukać i zakomentować kod:
if (strpos($segments[0], ':') === false) {
$vars['view'] = 'article';
$vars['id'] = (int)$segments[0];
return $vars;
} Jednym zdaniem możemy zastąpić go poniższym kodem:
/*
if (strpos($segments[0], ':') === false) {
$vars['view'] = 'article';
$vars['id'] = (int)$segments[0];
return $vars;<b></b>
}*/ Komentarz: jak widać, powyższy kod został wyłączony (objęty komentarzami).
Informacja: zmiany, które wprowadziliśmy, powinny już działać w Joomla! 2.5.
W Joomla! z linii 3.x konieczna jest jeszcze jedna zmiana:
Odszukujemy linię 386:
->where($db->quoteName('alias') . ' = ' . $db->quote($db->quote($segment))); Zmieniamy ją na:
->where($db->quoteName('alias') . ' = ' . $db->quote($segment)); Zapisujemy zmiany w edytowanym pliku, a następnie kopiujemy go z powrotem na serwer do miejsca, z którego po pobraliśmy: components/com_content/router.php.
Od tej pory możemy cieszyć się z idealnych przyjaznych adresów URL w naszej stronie internetowej zbudowanej w Joomla!







Dodam jeszcze. Że błąd 404 pojawia się wtedy kiedy zmienię linijki:
Odszukaj w linii 27 kod:
$advanced = $params->get('sef_advanced_link', 0); Zmień powyższy kod na:
$advanced = $params->get('sef_advanced_link', 1); Komentarz: jak widać, zmianie uległ tylko parametr 0 na 1.
Tak samo postępujemy w okolicy 260:
$advanced = $params->get('sef_advanced_link', 0);
Zmień powyższy kod na:
$advanced = $params->get('sef_advanced_link', 1);

Yebaniutky
05-01-2016, 16:21
Dodam, iż właśnie zauważyłem że po wyłączeniu w konfiguracji prostych adresów znika błąd 404 i widać artykuły ale linki są okropne.

mac
05-01-2016, 17:33
A co będzie jak wyjdzie aktualizacja joomli i nadpisze ci ten plik? Poszukaj komponentów do SEO, tam były narzędzia do modyfikacji linkow

Wysłane z mojego GT-I9195 przy użyciu Tapatalka

Yebaniutky
05-01-2016, 17:49
Na wypadek aktualizacji myślałem o zapisaniu plików .htaccess oraz router.php (tylko przy tych 2 grzebałem). Nie uśmiechają mi się dodatkowe moduły gdyż strona będzie dosyć rozbudowana więc i tak będę musiał sporo rozszerzeń poinstalować i ma obsługiwać planowo kilkanaście tys użytkowników, a głównym założeniem projektu jest aby strona w miarę lekko chodziła. No i czytałem że niektóre popularne robią trochę kłopotu ze stroną, a najlepsze są płatne.

mac
05-01-2016, 18:00
Znaczy robisz portal na kilkanaście tys użytkowników i nie stać cie na płatny dobrze zakodowany moduł?

Yebaniutky
05-01-2016, 18:07
Niestety:/ Tzn stać może i by było ale portal ten nie będzie żadnym komercyjnym/przeznaczonym do zarabiania tak więc i inwestować w niego nie chcę. Stronka ma służyć do możliwie szybkiej i łatwej wymiany danych pomiędzy pewną grupą ludzi.

Yebaniutky
05-01-2016, 21:02
Jednak posłuchałem kolegi "mac" zainstalowałem darmowy dodatek joomsef. Teraz wyświetlają mi się artykuły. Linki wyglądają dosyć fajnie:
http://www.entercomcoui.nazwa.pl/homepage/uncategorised/nowi
Boli mnie jeszcze tylko wyświetlanie homepage (jest to chyba alias menu do którego artykuł jest podpięty).

mac
05-01-2016, 21:18
To zmien mu nazwe

Yebaniutky
05-01-2016, 21:37
Niestety nazwa ta nie pochodzi od aliasu menu.
Nazwa wynika ze strony głównej - artykuł jest wyświetlany
strona gł-kategoria-artykuł i stąd wychodzi homepage-kategoria-artykuł.

mac
05-01-2016, 21:52
Poszukaj w ustawieniach joomsef