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

NEU: Seitenreport 3 (Seite 7)


robert_b
Beginner (24 Beiträge)
am 04.08.2011, 17:52 Uhr schrieb robert_b

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
Avatar joerg
Fachinformatiker Anwendungsentwicklung
Content Gott (1941 Beiträge)
am 04.08.2011, 17:58 Uhr schrieb joerg

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


Zufällige Umleitung zu der Startseite einer meiner Domains
Meine ungewöhnlichen Tools

robert_b
Beginner (24 Beiträge)
am 04.08.2011, 18:26 Uhr schrieb robert_b

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

robert_b
Beginner (24 Beiträge)
am 04.08.2011, 18:34 Uhr schrieb robert_b

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

joerg
Avatar joerg
Fachinformatiker Anwendungsentwicklung
Content Gott (1941 Beiträge)
am 04.08.2011, 22:24 Uhr schrieb joerg

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)
am 07.08.2011, 15:12 Uhr schrieb der_booker

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
Avatar joerg
Fachinformatiker Anwendungsentwicklung
Content Gott (1941 Beiträge)
am 07.08.2011, 16:03 Uhr schrieb joerg

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



« zurück zu: Internes

Das Seitenreport Forum hat aktuell 5275 Themen und 36110 Beiträge.
Insgesamt sind 48360 Mitglieder registriert.