tfriebe
Themenersteller
Beginner (30 Beiträge)

Duplicate content trotz angepasster htaccess (Seite 5)


MASGlas
Avatar MASGlas
Glaser
Beginner (37 Beiträge)
am 02.07.2012, 20:17 Uhr schrieb MASGlas

Hallo,
ES GEHT!!!!!

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\\.(.*) [NC]

RewriteRule ^(.*)$ %1/$1 [R=301,L]


</IfModule>

DANKE
Ihr seid einfach die besten!!!!


Marco Schröder
MAS Glas Shop
www.mas-glas.de

MASGlas
Avatar MASGlas
Glaser
Beginner (37 Beiträge)
am 02.07.2012, 20:21 Uhr schrieb MASGlas

Hallo,
und wie bekomme ich das auf www umgestellt?

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\\.(.*) [NC]

RewriteRule ^(.*)$ %1/$1 [R=301,L]


</IfModule>


Marco Schröder
MAS Glas Shop
www.mas-glas.de

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

Hallo Marco

Dann versuchen wir das nochmal mit der allgemeinen Syntax.

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\\. [NC]

RewriteRule ^(.*)$ www.%{HTTP_HOST}/$1 [R=301,L]


</IfModule>

Wenn das dann geht wäre der nächste Schritt die index.php umzuleiten.

Das wäre in deinem Fall etwas schwieriger.

RewriteCond %{QUERY_STRING} ^$ [OR]
RewriteCond %{QUERY_STRING} ^osCsid=74f9000eca639a2797bcdd05c71de3a9$
RewriteRule ^index\\.php / [L,R=301]

Mit der ersten Bedingung wird dann die index.php ohne Query auf das Startverzeichnis umgeleitet.
Da aber auch noch eine Startseite mit einem Query existieren kann und wir andere Unterseiten die weitere Parameter enthalten nicht umleiten möchten müssen wir auch dafür sorgen das nur in diesem Fall eine Umleitung vorgenommen wird.

Mit PHP wäre das jetzt etwas einfacher und vor allen Dingen leichter zu korrigieren das dieser Parameter der wahrscheinlich an alle deine Unterseiten angehängt wird verschwindet.

Momentan fällt mir dazu keine Lösung per htaccess ein.

Dann wäre der vollständiger Rewrite momentan

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\\. [NC]

RewriteRule ^(.*)$ www.%{HTTP_HOST}/$1 [R=301,L]


RewriteCond %{QUERY_STRING} ^$ [OR]
RewriteCond %{QUERY_STRING} ^osCsid=74f9000eca639a2797bcdd05c71de3a9$
RewriteRule ^index\\.php / [L,R=301]
</IfModule>

Dann nehmen wir uns zumindest noch die Urls vor die nur diesen einen Parameter enthalten aber nicht die Index.php sind.

RewriteCond %{REQUEST_URI} !index\\.php
RewriteCond %{QUERY_STRING} ^osCsid=74f9000eca639a2797bcdd05c71de3a9$
RewriteRule (.*) %{REQUEST_URI}? [R=301,L]

Würde dann zusammen diesen Block ergeben.

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\\. [NC]

RewriteRule ^(.*)$ www.%{HTTP_HOST}/$1 [R=301,L]


RewriteCond %{QUERY_STRING} ^$ [OR]
RewriteCond %{QUERY_STRING} ^osCsid=74f9000eca639a2797bcdd05c71de3a9$
RewriteRule ^index\\.php / [L,R=301]
RewriteCond %{REQUEST_URI} !index\\.php
RewriteCond %{QUERY_STRING} ^osCsid=74f9000eca639a2797bcdd05c71de3a9$
RewriteRule (.*) %{REQUEST_URI}? [R=301,L]
</IfModule>

Und jetzt bitte einen Schritt nach dem nächsten testen.
Wenn es dann irgendwo haken sollte kann man versuchen diesen Schritt anzupassen.

Und die Fehlersuche wäre dann dadurch auch einfacher.

So dann könnte man testen ob

RewriteCond %{REQUEST_URI} !index\\.php
RewriteCond %{QUERY_STRING} ^(.+)osCsid=74f9000eca639a2797bcdd05c71de3a9$
RewriteRule (.*) %{REQUEST_URI}?%1 [R=301,L]

oder so ähnlich vermutlich dazu führt die restlichen Urls auch von diesem Query zu befreien.
Da ich das jetzt noch nie getestet habe weiss ich es einfach nicht ob das zu dem gewünschten Ergebnis führt. Hiesse das dann auch noch ans Ende hängen.

Nicht wundern wenn ein Fragezeichen alleine noch stehen bleibt, wenn der Query entfernt wird.
htaccess ist an dieser Stelle nicht so mächtig wie PHP es ist.

Mit PHP würde ich die Request URI mir schnappen und einfach danach durchsuchen ob dieser Parameter gesetzt ist. Wenn ja würde ich den Parameter daraus entfernen und eine Umleitung vornehmen.

Gruß
Jörg


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


gelöschter Benutzer
am 03.07.2012, 00:49 Uhr schrieb

joerg schrieb:
...
RewriteCond %{REQUEST_URI} !index\\.php
RewriteCond %{QUERY_STRING} ^(.+)osCsid=74f9000eca639a2797bcdd05c71de3a9$
RewriteRule (.*) %{REQUEST_URI}?%1 [R=301,L]
...



Jeder Besucher bekommt seine eigene Session ID, ob das so geht?

Achja das Flag: QSA (query string append)


joerg
Avatar joerg
Fachinformatiker Anwendungsentwicklung
Content Gott (1941 Beiträge)
am 03.07.2012, 01:17 Uhr schrieb joerg

Hallo Thomas

Daran kann man eben erkennen das ich noch nicht mit Sessions was zu tun gehabt habe.

Würde zwar dann mit ^osCsid=(\\w+)$ gehen wäre aber wohl sehr sinnlos.

Dann sind wir an dem Punkt dann das man deinem Vorschlag folgen müsste diese Session ID abzuschalten.

Hübsch wer hat sowas nur verbrochen und vor allen Dingen so in dieser Form Live gestellt.
In der Form habe ich das noch nie bewusst wahrgenommen.

Gruß
Jörg


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

MASGlas
Avatar MASGlas
Glaser
Beginner (37 Beiträge)
am 03.07.2012, 08:41 Uhr schrieb MASGlas

hallo Jörg,
muss der erste teil auch ohne den 2. teil gehen?
Teil 1)
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\\. [NC]

RewriteRule ^(.*)$ www.%{HTTP_HOST}/$1 [R=301,L]


</IfModule>


Teil 2)
RewriteCond %{QUERY_STRING} ^$ [OR]
RewriteCond %{QUERY_STRING} ^osCsid=74f9000eca639a2797bcdd05c71de3a9$
RewriteRule ^index\\.php / [L,R=301]


Marco Schröder
MAS Glas Shop
www.mas-glas.de

joerg
Avatar joerg
Fachinformatiker Anwendungsentwicklung
Content Gott (1941 Beiträge)
am 03.07.2012, 09:12 Uhr schrieb joerg

Hallo Marco

Er sollte zumindest nach www. umleiten der erste Teil alleine. Wenn es jetzt da schon zu Problemen kommt müsste man Alternativen testen. Oder sich vorher mal die aktuelle htaccess anschauen.

Ich habe schon häufiger erlebt das Anweisungen vorher in der htaccess spätere an der Ausführung gehindert haben. Deshalb schrittweise am besten testen wenn man in der htaccess nicht so fit ist.

Da ich meine Domains aber ohne www. betreibe habe ich den ersten Teil zu einem früheren Zeitpunkt live getestet.
Sonst würde es nicht auf meiner Seite zu diesem Thema stehen.

joerghuelsermann.de/artikel/htaccess/rewrite.php



Der zweite Teil würde dann dadurch modifiziert da die Session ja stehenbleiben müsste.

RewriteCond %{QUERY_STRING} ^$
RewriteRule ^index\\.php / [L,R=301]

Und den Rest einfach total vergessen.

Frage zurück du hast jetzt nicht den ersten Teil einfach nur in die htaccess eingefügt und die andere Anweisung die zumindest bewiesen hat das das Rewrite Modul aktiviert ist stehen lassen?

Das würde sich nämlich dann beissen und zu einer Endlos Schleife führen.

Gruß
Jörg


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

MASGlas
Avatar MASGlas
Glaser
Beginner (37 Beiträge)
am 03.07.2012, 15:22 Uhr schrieb MASGlas

Hallo Jörg,
Nein ich habe nur den ersten Teil genutzt.
und meine Seite wird dann nicht mehr angezeigt.


Marco Schröder
MAS Glas Shop
www.mas-glas.de

MASGlas
Avatar MASGlas
Glaser
Beginner (37 Beiträge)
am 03.07.2012, 16:14 Uhr schrieb MASGlas

Bei dem ohne www kann ich beim Bestellen nichts mehr in den Warenkorb legen...


Marco Schröder
MAS Glas Shop
www.mas-glas.de

joerg
Avatar joerg
Fachinformatiker Anwendungsentwicklung
Content Gott (1941 Beiträge)
am 03.07.2012, 16:47 Uhr schrieb joerg

Hallo Marco

Scheint eine ganz harte Nummer zu sein dein System.

An der Stelle hilft eigentlich nur noch weiter erstmal die htaccess zu zerpflücken und danach den PHP Kode wenn in der htaccess nichts auffälliges sich befindet.

Gruß
Jörg


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



« zurück zu: .htaccess

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