Suchmaschinenoptimierung
   
 

SEMSEO Konferenz 2012
 

 
 

mod_rewrite - Ich komm nicht mehr weiter!

Gehe zu Seite 1, 2  Weiter
Neues Thema eröffnen   Neue Antwort erstellen    ABAKUS Foren-Übersicht -> Weiterleitungen und mod_rewrite
 Ich komm einfach nicht weiter... Alte shopdomain auf Hauptdomain umleiten  
Lavz

pr


: 14.02.2011
: 9



: 14.02.2011, 12:52    : mod_rewrite - Ich komm nicht mehr weiter! Antworten mit Zitat

Ich möchte alle folgende Seiten AUTOMATISCH weiterleiten lassen. Meine Versuche sind bisher leider gescheitert, hab auch schon viel gegooglet, hoffe, ihr könnt mir weiterhelfen.

Ich möchte:
index.php?s=XXX zu: XXX.html --> AUTO WEITERLEITUNG
test.php?id=XXX&name=YYY zu: YYY.html --> AUTO WEITERLEITUNG

Wie mache ich das dann, dass z.B. test.php?id=XXX&name=YYY&edit=1 auch funktioniert?

Ausserdem: Alle .php Seiten zu .html automatisch weiterleiten.

Wer kann helfen?

Code:
Options +FollowSymLinks
Options +Indexes
RewriteEngine On
RewriteBase /

RewriteRule (.*)\.html$ index.php?s=$1
Nach oben
Lavz Private Nachricht senden
Wittka

pr


: 23.09.2009
: 60



: 14.02.2011, 13:24    : mod_rewrite - Ich komm nicht mehr weiter! Antworten mit Zitat

wenn ich dich richtig verstanden habe, gehst du das problem falsch herum an. du musst auf deiner seite die links auf xxx.html setzen und diese dann über mod_rewrite in bla.php?asd=xxx oder wie auch immer umwandeln.

hier ein beispiel:
Code:


RewriteRule ^(.*)details\/(.+)$          details.php?url=$2 [qsappend,L]

RewriteRule ^(.*)$                index.php?url=$1 [qsappend,L]


zur erläuterung:
1.
ein link auf der seite der form http://aaa.bbbbbb.cc/details/xxxx.html
wird intern weitergeleitet auf details.php?url=xxxx.html

2.
ein link auf der seite der form http://aaa.bbbbbb.cc/xxxx.html
wird intern weitergeleitet auf index.php?url=xxxx.html
Nach oben
Wittka Private Nachricht senden
Lavz

pr


: 14.02.2011
: 9



: 14.02.2011, 13:41    : mod_rewrite - Ich komm nicht mehr weiter! Antworten mit Zitat

Nee aber ich will ja SEO freundliche URLs.

Folgende URL hab ich jetzt schon:
tails.php?url=xxxx.html

Ich will nur jetzt umleiten (SEO freundlicher, kürzer auf): xxxx.html

Verständlich?

Oder geht das gar nicht? Muss ich alle Links ändern in .html Links?
wie änder ich dann die php in kurze html Site mit htaccess
Nach oben
Lavz Private Nachricht senden
Synonym

pr


: 09.08.2008
: 3496
: Würzburg


: 14.02.2011, 13:59    : mod_rewrite - Ich komm nicht mehr weiter! Antworten mit Zitat

Wenn Du die URLs einfach weiterleitest bringt das gar nichts, da Dein System damit dann nichts mehr anfangen kann. Wie Wittka schon sagte, Du musst die URLs auf der Seite ändern und dann per htaccess festlegen, dass eben bei xxx.html die index.php?s=xxx intern aufgerufen wird. Mit der kann Dein System dann was anfangen und weiterarbeiten.

Rufe doch einfach mal domain.de/XXX.html auf, was passiert denn da? Nichts oder. Ein Fehler, mehr nicht... Weil Dein System eben mit der URL nichts anfangen kann. Also musst Du dem dann per htaccess eben genau das beibringen.


Zuletzt bearbeitet von Synonym am 14.02.2011, 14:00, insgesamt einmal bearbeitet
Nach oben
Synonym Private Nachricht senden
Lavz

pr


: 14.02.2011
: 9



: 14.02.2011, 14:00    : mod_rewrite - Ich komm nicht mehr weiter! Antworten mit Zitat

Könnt ihr mri ein Beispiel geben, wie ich index.php?s=xxx in xxx.html umwandeln lassen kann?
Nach oben
Lavz Private Nachricht senden
Synonym

pr


: 09.08.2008
: 3496
: Würzburg


: 14.02.2011, 14:02    : mod_rewrite - Ich komm nicht mehr weiter! Antworten mit Zitat

Kannst Du uns ein echtes Beispiel geben, in dem auch klar wird, was das s=xxx bedeutet? Ist xxx ein gemischter String, eine Zahlenkette, eine Zeichenkette oder was?
Nach oben
Synonym Private Nachricht senden
Wittka

pr


: 23.09.2009
: 60



: 14.02.2011, 14:20    : mod_rewrite - Ich komm nicht mehr weiter! Antworten mit Zitat

Schau doch mal in meinen post, das ist ein Beispiel mit zugehörigem Code!

*** Hochwertige Backlinks: .edu | .gov | PR5-7 | Blogposts, Profile, Linkwheels, Web 2.0 und mehr! ***
Scrapebox, SenukeX, SickSubmitter und mehr kostenlos >> http://www.black-hat-magic.de/ !!!
Nach oben
Wittka Private Nachricht senden
Rizzo

pr


: 31.08.2010
: 45



: 14.02.2011, 15:32    : mod_rewrite - Ich komm nicht mehr weiter! Antworten mit Zitat

Zum Verständnis, was meine beiden Vorgänger die sagen wollen. Dazu nochmal ein Beispiel:

Auf deine Seite hast du (was wir nun glauben) eine Interne Verlinkung á
Code:
<a href="http://www.example.de/index.php?s=XXX">Link zur Seite</a>
- welche du nun auf -
http://www.example.de/XXX.html
- weiterleiten möchtest. Dieser Ansatz ist aber verkehrt.

So meinen das meine Vorgänger, bsp. - interne Verlinkung:
Code:
<a href="http://www.example.de/XXX.html">Link zur Seite</a>

...in der htaccess kann mit Hilfe von...
Code:
RewriteRule ^(.*)$     index.php?url=$1 [QSA,L]
(siehe auch die Regeln von Wittka)

...abgefangen und zur index.php?s=XXX weitergeleitet werden.

Theorie ist wenn jeder meint es besser zu wissen, Praxis ist wenn alles funktioniert und keiner weis warum.
Nach oben
Rizzo Private Nachricht senden
Lavz

pr


: 14.02.2011
: 9



: 14.02.2011, 17:15    : mod_rewrite - Ich komm nicht mehr weiter! Antworten mit Zitat

Ihr verwirrt mich

Ich versuchs nochmals. Die Seite:
/seite.php?id=irgendwas_dynamisch_erzeugtes&name=wasanderesdynamischerzeugtes

möchte ich umwandeln zu:
/wasanderesdynamischerzeugtes.html

Damit ich selber dann den Link setzen kann zu: /wasanderesdynamischerzeugtes.html

Ich habs so probiert, klappt aber nicht:
Code:
Options +FollowSymLinks
Options +Indexes
RewriteEngine On
RewriteBase /

RewriteRule (.*)\.html$ index.php?s=$1
RewriteRule ^([^.]+)\.html$ $1.php [L]

RewriteCond %{QUERY_STRING} !marker
RewriteCond %{QUERY_STRING} name=([-a-zA-Z0-9_+]+)
RewriteRule ^/?pflanze\.php$ %1? [R=301,L]
RewriteRule ^/?([-a-zA-Z0-9_+]+)$ pflanze.php?id=([-a-zA-Z0-9_+]+)marker&name=$1 [L]
id==([-a-zA-Z0-9_+]+) soll für etw. beliebiges stehen, stimmt wahrscheinlich nicht. Das mit dem marker hab ich auf ner anderen Seite gefunden.

Hingegen: index.php?s=info kann nun ebenfalls unter info.html aufgerufen werden wie gewünscht. Was noch nicht geht, ist z.B. dass suche.php in suche.html aufgerufen werden soll. Also sonst alle *.php in *.html umgewandelt werden sollen.

/EDIT
Ok bin inzwischen etwas weiter, aber habe doch noch eine Frage:

Code:
RewriteRule ^(.*)-(.*).htm$ /seite.php?id=$1&name=$2 [L]
Klappt einwandfrei. Ich will aber nur das was hinter &name steht ersetzen und in den Link nehmen:
Code:
RewriteRule ^(.*).htm$ /seite.php?id=.*&name=$1 [L]

Geht nicht mehr! Stimmt .* nicht?
Nach oben
Lavz Private Nachricht senden
Lavz

pr


: 14.02.2011
: 9



: 14.02.2011, 18:07    : mod_rewrite - Ich komm nicht mehr weiter! Antworten mit Zitat

Ich muss dazu jetzt sagen, dass der Seitenaufbau schon erheblich verlangsamt ist durch mod_rewrite weiss jemand warum?
Hier das File:
Code:
Options +FollowSymLinks
Options +Indexes
RewriteEngine On
RewriteBase /

RewriteRule (.*)\.html$ index.php?s=$1
RewriteRule ^([^.]+)\.html$ $1.php [L]

RewriteRule ^datei-(.*)-(.*).htm$ /datei.php?id=$2&name=$1 [L]
Würde ausserdem gerne letzteres damit nur $1 in der .htm URL übernommen wird.
Nach oben
Lavz Private Nachricht senden
Synonym

pr


: 09.08.2008
: 3496
: Würzburg


: 14.02.2011, 18:08    : mod_rewrite - Ich komm nicht mehr weiter! Antworten mit Zitat

Wie gesagt, Du denkst falsch rum und verwechselst auch immer wieder "weiterleiten" und "umschreiben".

Wenn Du in der URL-Zeile suche.html eintippen willst und dann das Script suche.php aufgerufen werden soll, dann brauchst Du:

Code:
RewriteRule ^suche\.html$ /suche.php [L]

Das da ruft intern die suche.php auf, wenn in der URL suche.html steht

Code:
RewriteRule ^suche\.php$ /suche.html [R=301,L]

Das da ist eine Weiterleitung und zwar von suche.php (in der URL-Zeile) nach suche.html (in der URL-Zeile)

Codes sind nur Beispiele, ungetestet.

Und was wir die ganze Zeit schreiben... Damit suche.html in der URL steht (intern wird suche.php) aufegrufen, musst Du natürlich den Link zur Suchfunktion entsprechend ändern. Ebenso alles andere auch.
Nach oben
Synonym Private Nachricht senden
Lavz

pr


: 14.02.2011
: 9



: 14.02.2011, 18:11    : mod_rewrite - Ich komm nicht mehr weiter! Antworten mit Zitat

Ja sorry das hab ich jetzt verstanden. Könntest du dazu noch was sagen?
Lavz hat Folgendes geschrieben:
Ich muss dazu jetzt sagen, dass der Seitenaufbau schon erheblich verlangsamt ist durch mod_rewrite weiss jemand warum?
Hier das File:
Code:
Options +FollowSymLinks
Options +Indexes
RewriteEngine On
RewriteBase /

RewriteRule (.*)\.html$ index.php?s=$1
RewriteRule ^([^.]+)\.html$ $1.php [L]

RewriteRule ^datei-(.*)-(.*).htm$ /datei.php?id=$2&name=$1 [L]
Würde ausserdem gerne letzteres damit nur $1 in der .htm URL übernommen wird.
Nach oben
Lavz Private Nachricht senden
Synonym

pr


: 09.08.2008
: 3496
: Würzburg


: 14.02.2011, 18:13    : mod_rewrite - Ich komm nicht mehr weiter! Antworten mit Zitat

verlangsamt....

weil das unfug ist:
RewriteRule (.*)\.html$ index.php?s=$1

Du rufst also bei allem was ***.html in der URL hat, intern die index.php?s=*** auf...

um danach, weil es kein Ende [L] gibt

für alles was wiederum mit .html endet die ***.php aufzurufen (intern)

Ein Aufruf von vogel.html ergibt also über die htaccess

einen internen Aufruf von index.php?s=vogel
und danach gleich einen von vogel.php
Nach oben
Synonym Private Nachricht senden
Synonym

pr


: 09.08.2008
: 3496
: Würzburg


: 14.02.2011, 18:17    : mod_rewrite - Ich komm nicht mehr weiter! Antworten mit Zitat

RewriteRule ^datei-(.*)-(.*).htm$ /datei.php?id=$2&name=$1 [L]
Würde ausserdem gerne letzteres damit nur $1 in der .htm URL übernommen wird.

Wie gesagt, das hat mit der URL nichts zu tun, da wird nichts übernommen, das ist ein interner Aufruf eines Files, mehr nicht.

"datei-hunde-haufen.html" ruft intern "datei.php?id=haufen&name=hunde" auf


Mach doch mal ein normales Beispiel, ohne Platzhalter, Sterne oder sonstwas, also eine URL wie sie ist und was daraus werden soll.
Nach oben
Synonym Private Nachricht senden
Lavz

pr


: 14.02.2011
: 9



: 14.02.2011, 18:23    : mod_rewrite - Ich komm nicht mehr weiter! Antworten mit Zitat

Kann man es so einstellen, dass "datei-hunde.html" intern "datei.php?id=haufen&name=hunde" aufruft?

Ich habe mal einiges umgeschrieben und dazugenommen:
Code:
Options +FollowSymLinks
Options +Indexes
RewriteEngine On
RewriteBase /

RewriteRule index/(.*)\.htm$ index.php?s=$1 [L]
RewriteRule themen/(.*)\.htm$ themen.php?s=$1 [L]
RewriteRule suche.htm$ suche.php [L]
RewriteRule ^([^.]+)\.html$ $1.php [L]
RewriteRule ^datei-(.*)-(.*).htm$ /datei.php?id=$2&name=$1 [L]
Auf jeden Fall deutlich schneller als vorher .... Ist noch ein Fehler drin?
Nach oben
Lavz Private Nachricht senden
Neues Thema eröffnen   Neue Antwort erstellen    ABAKUS Foren-Übersicht -> Weiterleitungen und mod_rewrite
Seite 1 von 2
Gehe zu Seite 1, 2  Weiter

 






Ähnliche Beiträge
Thema Forum Antworten
alte https  backlinks aber keine https seite mehr alte https backlinks aber keine http... djad Google Pagerank und Backlink-Forum 0 24.05.2012, 17:03 alte https  backlinks aber keine https seite mehr
Keyword Position nicht gefunden Keyword Position nicht gefunden Zatkiel Ich hab' da mal 'ne Frage 5 24.05.2012, 13:24 Keyword Position nicht gefunden
Google findet meine Startseite nicht mehr - DNS Fehler Google findet meine Startseite nicht ... derHorst Google Forum 1 24.05.2012, 10:03 Google findet meine Startseite nicht mehr - DNS Fehler
Anzeigen werden nicht gezeigt bei Firefox Anzeigen werden nicht gezeigt bei Fir... florittweger Google Adwords & Facebook Ads, Yahoo!, Microsoft adCenter 1 22.05.2012, 11:15 Anzeigen werden nicht gezeigt bei Firefox
URL passt oder passt nicht? URL passt oder passt nicht? Deluxe-Dancers Ich hab' da mal 'ne Frage 3 21.05.2012, 12:54 URL passt oder passt nicht?
[B] gute Webkatalog-Links und mehr, Penguin-Konform [B] gute Webkatalog-Links und mehr, P... basisdenken Marktplatz: Dienstleistungen 0 21.05.2012, 10:43 [B] gute Webkatalog-Links und mehr, Penguin-Konform
Google-Cache sieht Seite nicht korrekt Google-Cache sieht Seite nicht korrekt Eisflamme Google Forum 14 19.05.2012, 12:24 Google-Cache sieht Seite nicht korrekt

Suchmaschinenoptimierung | Latent Semantische Optimierung (LSO) | SEO Blog | SEO Online Tools | Suchmaschinenmarketing Angebot | Online Marketing

Impressum

Dieses SEO Forum läuft unter phpBB.


Sie lesen gerade: mod_rewrite - Ich komm nicht mehr weiter!