seitenreport Themenersteller
Inhaber
TYPO3 Senior Developer
Content Gott (1772 Beiträge)
NEU: Seitenreport 3 (Seite 7)
Hallo Jörg,
das mit php finde ich gut:
if (!preg_match(\'#^/$#\',$_SERVER[\'REQUEST_URI\']))
{
header(\'Location:http://\'.$_SERVER[\'SERVER_NAME\'].\'/\',true,301);
exit;
}
wie würdest Du das umbauen, damit für alle URLs gilt?
joerg
Fachinformatiker Anwendungsentwicklung
Content Gott (1941 Beiträge)
Ok, habe es in der root-index.php ergänzt:
if (preg_match(\'#index.php$#\',$_SERVER[\'REQUEST_URI\'])){
$url3 = str_replace("index.php","",$_SERVER[REQUEST_URI]);
header(\'Location: \'.$_SERVER[\'SERVER_NAME\'].$url3,true,301);
exit;
}
jetzt funktioniert so wie sein sollte.
Vielen Dank für Ihre hilfreichen Tipps.
seitenreportInhaber
TYPO3 Senior Developer
Content Gott (1772 Beiträge)
robert_b schrieb:
Vielen Dank für Ihre hilfreichen Tipps.
Hallo Robert,
hier im Forum darfst Du uns durchaus alle duzen! :wink:
Beste Grüße,
Matthias
SEO Analyse und Website-Check mit Seitenreport
Hast Recht Matthias,
sorry, war \'n Ausrutscher,
so ist es, wenn man ganzen Tag programmiert und programmiert...
Gruß, Robert
seitenreportInhaber
TYPO3 Senior Developer
Content Gott (1772 Beiträge)
robert_b schrieb:
sorry, war \'n Ausrutscher,
so ist es, wenn man ganzen Tag programmiert und programmiert...
Absolut kein Problem. Hat ja niemandem geschadet. Verwirrte nur ein wenig.
Beste Grüße,
Matthias
SEO Analyse und Website-Check mit Seitenreport
joerg
Fachinformatiker Anwendungsentwicklung
Content Gott (1941 Beiträge)
Hallo
Um jetzt noch ein bisschen mehr Verwirrung zu stiften und damit das Forum den Code auch mal richtig darstellt.
Mit str_replace würde ich es nicht machen. Einfach um es abzufangen das zweimal in der URl index.php steht. Nachdem was man bereits alles gesehen hat halte ich auch das für möglich.
Aber PHP stellt halt eben noch mehrere sinnvolle Alternativen bereit.
Die bisherige Version in korrekter Schreibweise.
if (preg_match(\'#/index\\\\.php$#\',$_SERVER[\'REQUEST_URI\']))
{
$url = preg_replace(\'#index\\\\.php$#\',\'\',$_SERVER[\'REQUEST_URI\']);
header(\'Location:http://\'.$_SERVER[\'SERVER_NAME\'].$url,true,301);
exit;
}
Eine Version mit substr
if (substr($_SERVER[\'REQUEST_URI\'],-10) == \'/index.php\')
{
$umleitung = substr($_SERVER[\'REQUEST_URI\'],0,-9);
header(\'Location:http://\'.$_SERVER[\'SERVER_NAME\'].$umleitung,true,301);
exit;
}
basename und dirname einsetzen.
if (basename($_SERVER[\'REQUEST_URI\'])==\'index.php\')
{
$dirname = dirname($_SERVER[\'REQUEST_URI\']);
if (dirname($_SERVER[\'REQUEST_URI\']) != \'/\') {$dirname.= \'/\';}
header(\'Location:http://\'.$_SERVER[\'SERVER_NAME\'].$dirname.\'/\',true,301);
exit;
}
Gruß
Jörg
Zufällige Umleitung zu der Startseite einer meiner Domains
Meine ungewöhnlichen Tools
der_booker
Foren Moderator
selbständig
(2762 Beiträge)
Ich verwende solch eine PHP-Lösung ebenfalls, um DC zu verhindern. Man kann diese Lösung sogar dahingehend erweitern, um zu verhindern, dass schadhafter Code, beispielsweise durch Injections etc., ausgeführt werden kann.
Dennoch bin ich auf der Suche nach einer flexiblen .htaccess-Lösung. Hat da jemand etwas anzubieten?
Heiko Jendreck
personal helpdesk
http://www.phw-jendreck.de
http://www.seo-labor.com
joerg
Fachinformatiker Anwendungsentwicklung
Content Gott (1941 Beiträge)
Hallo Heiko
Meinst du sowas in der Art?
Die erste Regel entfernt alle Query Strings. Die zweite leitet nur bei Ãœbereinstimmung durch einen regulären Ausdruck zu der Datei um wo die Gefahr einer SQL Injection besteht. Momentan wären nur Buchstaben Ziffern und der Unterstrich erlaubt.
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_URI} !help\\.php
RewriteCond %{QUERY_STRING} !^$ [NC]
RewriteRule (.*) %{REQUEST_URI}? [R=301,L]
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(\\w+)$ /help.php?id=$1 [QSA]
</IfModule>
Gruß
Jörg
Zufällige Umleitung zu der Startseite einer meiner Domains
Meine ungewöhnlichen Tools
Das Seitenreport Forum hat aktuell 5275 Themen und 36110 Beiträge.
Insgesamt sind 48360 Mitglieder registriert.
Beitrag erstellen
EinloggenKostenlos registrieren