Temat: mod_rewrite [.htaccess / j!1.5.8 / sh404SEF] i błąd 404
Arvind Juneja:
sh404SEF wywala 404 przy stronie głównej a działa poprawnie jak się skierować do konkretnego url'a..
ktoś ma jakiś pomysł?
Ja :] może komuś się przyda bo średnio przyjemne uczucie rozłożyć swój serwis na "łopaty"
.htaccess z katalogu głównego joomli zmieniamy:
z:
RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$ [NC]
na:
RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)(\?.*)?$ [NC]
Następnie modyfikujemy:
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ć :]
Jeżeli joomlę wywołujesz z podkatalogu, dodatkowo musisz dopisać w index.php w okolicach linii 14, przed linią 'define( '_JEXEC', 1 );' :
if(substr($_SERVER[PHP_SELF], -1) == '/') {
$_SERVER[PHP_SELF] .= 'index.php';
}
Plik zapisujemy i możemy się cieszy w pełni funkcjonalną aplikacją ;) przy okazji wielkie THX dla yOyO z FJ