.PHP zu .html über PHP-Script

Wie wir alle wissen (sollten) ändert mod_rewrite keine Links im Script. Damit auch die Links auf Deiner Page auf die neuen "Rewrited URLs" zeigen bedarf es der Anpassung im Code. Fragen und Probleme rund um's Coding werden hier diskutiert.

Moderator: Super-Mod

.PHP zu .html über PHP-Script

Beitragvon InDeX » 16.04.2005 02:25

Hallo!

Ich habe Codes für mein Forum gefunden um es für Suchmaschinen zu optimieren. Auf Xamp läuft es fast fehlerfrei, aber sobald es auf dem Shared Server liegt und eine Seite als .html aufgerufen wird kommt:
URL/mod_rewrite.php nicht gefunden

Habe dann in der htaccess einen absoluten Pfad angegeben:
http://www.meinedomain.de/..../mod_rewrite.php

Konnte dann die Seiten auch als .html aufrufen. Die Adressleiste änderte sich aber zu /mod_rewrite.php?main und das ist ja nicht das Ziel der Aktion!


.htaccess
Code: Alles auswählen
RewriteEngine On

RewriteRule ^([^_]+)___(.+)\.html$ mod_rewrite.php?$1&........................$2 [L]
RewriteRule ^([^_]+)___\.html$ mod_rewrite.php?$1 [L]
RewriteRule ^([^_]+)\.html$ mod_rewrite.php?$1 [L]


mod_rewrite.php
Code: Alles auswählen
<?PHP
if(!$_SERVER['QUERY_STRING']) {
    die("kein direktaufruf erlaubt!");
}
unset($filename);
if(strpos($_SERVER['QUERY_STRING'],'&........................') === false) {
    $filename=str_replace('..','',$_SERVER['QUERY_STRING']);
} else {
    list($filename,$querystring)=explode('&........................',$_SERVER['QUERY_STRING']);

    $http_querystring=explode('___',$querystring);
    while(list(,$value)=each($http_querystring)) {
        if(!$value || !current($http_querystring)) {
            continue;
        }

        $varname=$value;
        $varvalue=current($http_querystring);
        $_GET[$varname] = $varvalue;
        $_REQUEST[$varname] = $varvalue;

        next($http_querystring);
    }
}

include './'.$filename.'.php';

?>


Alle Dateien sind im gleichen Ordner.

Zweites Problem bis jetzt bei Xamp:
portal_module.php?frame=22
geändert in
portal_module___frame___22.html springt dabei in die höhere Ebene und öffnet index.html. Das ist nur bei diesem Linktyp der Fall.

Ich hoffe jemand kann mir helfen!?


edit: Erstes Problem mit RewriteBase gelöst!

Gruss InDeX
InDeX
.
.
 
Beiträge: 2
Registriert: 15.04.2005 16:22

Zurück zu Programmierung & Scriptanpassung für mod_rewrite

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste