seitenreport
Avatar seitenreport
Themenersteller
Inhaber
TYPO3 Senior Developer
Content Gott (1772 Beiträge)

NEU: Seitenreport 3 (Seite 7)



gelöschter Benutzer
am 04.08.2011, 17:52 Uhr schrieb

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?



gelöschter Benutzer
am 04.08.2011, 17:58 Uhr schrieb

Hallo Robert

Mit preg_replace oder str_replace das index.php entfernen.

Erste Zeile dann

if (preg_match(\'#index.php$#\',$_SERVER[\'REQUEST_URI\']))

Für den Rest habe ich jetzt keine Zeit.

Gruß
Jörg



gelöschter Benutzer
am 04.08.2011, 18:26 Uhr schrieb

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.


seitenreport
Avatar seitenreport
Inhaber
TYPO3 Senior Developer
Content Gott (1772 Beiträge)
am 04.08.2011, 18:28 Uhr schrieb seitenreport

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


gelöschter Benutzer
am 04.08.2011, 18:34 Uhr schrieb

Hast Recht Matthias,
sorry, war \'n Ausrutscher,
so ist es, wenn man ganzen Tag programmiert und programmiert...

Gruß, Robert


seitenreport
Avatar seitenreport
Inhaber
TYPO3 Senior Developer
Content Gott (1772 Beiträge)
am 04.08.2011, 18:41 Uhr schrieb seitenreport

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


gelöschter Benutzer
am 04.08.2011, 22:24 Uhr schrieb

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



gelöschter Benutzer
am 07.08.2011, 15:12 Uhr schrieb

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?



gelöschter Benutzer
am 07.08.2011, 16:03 Uhr schrieb

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




« zurück zu: Internes

Das Seitenreport Forum hat aktuell 5273 Themen und 36107 Beiträge.
Insgesamt sind 496 Mitglieder registriert.