Cytat Wysłane przez adampuch Zobacz wiadomość
Cześć wszystkim,
mam domenę na home.pl i miałem ten sam problem z joomlą 1.6. plik od Pyziaka działa ładnie ale dalej pojawiłsię kolejny problem.
Po instalacji i usunięciu folderu installation chciałem normalnie zalogować się jako administrator. Dodam ze strona wyskakuje ładnie, panel logowania administratora tez ale po wpisaniu loginu i hasła wyskakuje coś takiego:

An error has occurred.
The requested page cannot be found.
Search
You may wish to search the site or visit the home page.

Home Page

404Component not found
If difficulties persist, please contact the System Administrator of this site and report the error below..

Niby instalacja przebiegła dobrze i sprawnie i nie mam pojęcia jaka może być przyczyna.
Sprawdź źródło strony logowania i zobaczy czy linia 67 (definicja formularza) nie wygląda następująco:
Kod HTML:
<form action="/index.php" method="post" id="form-login">
jeśli action nie zawiera "administrator" (czyli jak wyżej) wejdź do panelu przez adres
http://nazwa_strony/administrator/index.php - adres dla action powinien wtedy zostać właściwie utworzony. Powinien wyglądać tak:
Kod HTML:
<form action="/administrator/index.php" method="post" id="form-login">
Za panel logowania odpowiedzialny jest plik /administrator/modules/mod_login/tmpl/default.php więc możesz też zmodyfikować linijkę dodając "na sztywno" administrator:
z:
Kod HTML:
<form action="<?php echo JRoute::_('index.php', true, $params->get('usesecure')); ?>" method="post" id="form-login">
na:
Kod HTML:
<form action="<?php echo JRoute::_(JPATH_BASE.DS.'index.php', true, $params->get('usesecure')); ?>" method="post" id="form-login">
lub usuwając całe echo JRoute... i dodać jedynie "/administrator/index.php" -nie jest to do końca poprawne rozwiązanie ponieważ problem leży głębiej, ale doraźnie powinno pomóc.

Problem z home.pl polega na tym, że np. instalując Joomle w głównym folderze ścieżka JPATH_BASE dla administratora wygląda tak:
/administrator
a z reguły jest to np. /home/hosting/public_html/administrator
natomiast JPATH_ROOT tworzony jest na zasadzie usunięcia ostatniego członu w ścieżce przez to jest w tym wypadku pusty (definicje dla administratora znajdują się w pliku administrator/includes/defines.php)
Kod HTML:
...
$parts = explode(DS, JPATH_BASE);
array_pop($parts);

//Defines.
define('JPATH_ROOT',            implode(DS, $parts));
...
i w tym wypadku rozwiązanie Pyziaka pomaga. Można również tutaj zmodyfikować JPATH_ROOT, aby sprawdzić czy nie jest to wartość pusta i przypisać odpowiednią wartość, aby wszędzie była właściwa:
Kod PHP:
define('JPATH_ROOT',            implode(DS$parts)); 
na
Kod PHP:
define('JPATH_ROOT',            (implode(DS$parts)) ? implode(DS$parts) : DS); 
Jeżeli ktoś działa z bug squadem, dobrze byłoby to im zgłosić ten problem. Co do mod_login - to jest to kwestia klasy JRoute i odpowiedniego przygotowywania adresu przez tą klasę.