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

