Na serwerach home.pl, po przeprowadzeniu instalacji nie działają takie moduły jak search czy ankieta.
Rozwiązaniem sytuacji jest edycja dwóch plików:
.htaccess z katalogu głównego joomli, gdzie należy zmodyfikować:
z:
RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$ [NC]
na:
RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)(\?.*)?$ [NC]
oraz modyfikacje pliku libraries/joomla/application/component/controller.php w okolicach linii 550:
z:
function setRedirect( $url, $msg = null, $type = 'message' )
{
$this->_redirect = $url;
if ($msg !== null) {
// controller may have set this directly
na:
function setRedirect( $url, $msg = null, $type = 'message' )
{
if(substr($url, 0, 1) == '/') {
$url = 'http://' . $_SERVER[HTTP_HOST] . $url;
}
$this->_redirect = $url;
if ($msg !== null) {
// controller may have set this directly
Będzie działać.
W przypadku gdy wywołujemy Joomlę z podkatalogu (np. http://domena.pl/joomla/) strona główna nie załaduje poprawnie - zauważymi brak stylów, obrazków i innych rzeczy.
Powyższa sytuacja spowodowana jest zawartością zmiennej $_SERVER[PHP_SELF], którą trzeba 'w loce' poprawić. Do pliku index.php w okolicach linii 14, przed linią 'define( '_JEXEC', 1 );' dodajemy:
if(substr($_SERVER[PHP_SELF], -1) == '/') {
$_SERVER[PHP_SELF] .= 'index.php';
}
Plik zapisujemy i możemy się cieszy w pełni funkcjonalną aplikacją ;)
Dla zinteresowanych przygotowałem patcha: http://krzysztof.zolnowski.pl/joomla.1.5.1.home.diff
Napisałem także, na szybko, skrypt PHP, który należy rozpakować, umieścić w głownym katalogu serwisu Joomla i uruchomić z poziomu przeglądarki. Wprowadzi on niezbędne poprawki.
Powyższy skrypt testowany był na najnowszej, dostępnej wersji Joomli 1.5.1 Stable. Od razu mówię, że nie biorę odpowiedzialności za wszelkie występujące błędy. Skrypt dostępny pod adresem http://krzysztof.zolnowski.pl/patch.php.gz