unterschiedliche Includeseiten, unterschiedliche Parameter

Eines der wichtigsten Anwendungsgebiete von mod_rewrite ist das umschreiben von dynamischen in statische URLs um "suchmaschinenfreundliche URLs" zu erzeugen. Aber was ist besser fürs Ranking? http://www.url.com/12_2.htm, http://www.url.com/url,12,2.htm oder doch lieber http://www.url.com/12/2/url/ Fragen zum URL-Design werden hier diskutiert.

Moderator: Super-Mod

unterschiedliche Includeseiten, unterschiedliche Parameter

Beitragvon twDe » 04.12.2009 18:30

Hallo Leute,

ich möchte folgendes realisieren:
/foo => index.php?action=foo
/photo/bar => index.php?action=photo?pic=bar
/gallery/baz =>index.php?action=gallery?gallery=baz
/content/foobar => index.php?action=content?page=foobar

Meine .htaccess sieht folgendermaßen aus:
Code: Alles auswählen
RewriteEngine On

RewriteCond %{HTTP_HOST} !^www\.domain\.de$ [NC]
RewriteRule ^(.*)$ http://www.domain.de/$1 [R=301]

RewriteRule \.(css|jpe?g|gif|png)$ - [L]

RewriteCond %{REQUEST_URI} ^/[^\.]+[^/]$
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1/ [R=301,L]

RewriteRule ^([^/\.]+)/?$ /index.php?action=$1 [L]
RewriteRule ^gallery/([^/\.]+)/?$ /index.php?action=gallery&gallery=$2 [L]
RewriteRule ^photo/([^/\.]+)/?$ /index.php?action=photo&pic=$2 [L]
RewriteRule ^contact/([^/\.]+)/?$ /index.php?action=contact&subject=$2 [L]
#RewriteRule ^([^/\.]+)/([^/\.]+)/?$ /index.php?action=$1&param=$2 [L]


Das Problem ist, dass zwar zur entsprechenden Seite geleitet wird, aber der Parameter - z.B. "pic" wird nicht übergeben :?:

Wisst ihr Rat? Ich seh gerade irgendwie den Wald vor Bäumen nicht mehr...

Vielen Dank im Voraus!
twDe
.
.
 
Beiträge: 4
Registriert: 04.12.2009 17:08

Beitragvon Gumbo » 04.12.2009 19:13

Was passiert denn stattdessen?
Markus Wulftange
Gumbo
Moderator
Moderator
 
Beiträge: 5019
Registriert: 07.01.2005 01:18
Wohnort: Trier

Beitragvon twDe » 06.12.2009 12:48

Danke für Deine schnelle Reaktion.

Beim Aufruf von
/foo wird es korrekt umgesetzt => index.php?action=foo

Beim Aufruf von
/photo/bar wird es nicht korrekt umgesetzt nach => index.php?action=photo?pic=bar
Es kommt nur der Standardfehler: "Seite konnte nicht gefunden werden"

Es muss doch irgendwas an den Regeln was falsch sein, oder?

Gruss!
twDe
.
.
 
Beiträge: 4
Registriert: 04.12.2009 17:08

Beitragvon Gumbo » 06.12.2009 17:23

Das heißt also, dass keine der Regeln angewendet wird? Oder ist es bloß eine falsche?
Markus Wulftange
Gumbo
Moderator
Moderator
 
Beiträge: 5019
Registriert: 07.01.2005 01:18
Wohnort: Trier

Beitragvon twDe » 07.12.2009 01:30

d.h. dass zumindest die 1. Regel

Code: Alles auswählen
RewriteRule ^([^/\.]+)/?$ /index.php?action=$1 [L]


korrekt angewendet wird. Deswegen denke ich, dass die nachfolgenden
falsch sind bzw. gar nicht angewendet werden.

Ich vermute, dass sie falsch sind?
twDe
.
.
 
Beiträge: 4
Registriert: 04.12.2009 17:08

Beitragvon twDe » 07.12.2009 19:18

Nur zur Info, ich habe gefunden woran es lag.

Und zwar hatte ich noch den 2. Parameter in den Regeln verwendet.
Muss aber nat. der 1. sein! :)

So funktionierts jetzt:
Code: Alles auswählen
RewriteRule ^([^/\.]+)/?$ /index.php?action=$1 [L]
RewriteRule ^gallery/([^/\.]+)/?$ /index.php?action=gallery&gallery=$1 [L]
RewriteRule ^photo/([^/\.]+)/?$ /index.php?action=photo&photo=$1 [L]


Trotzdem danke für die Hilfe.

Grüße!
twDe
.
.
 
Beiträge: 4
Registriert: 04.12.2009 17:08


Zurück zu URL-Design

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste

cron