Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

mod_rewrite: Erste Versuche

Hier können Sie Ihre Fragen zum Thema Suchmaschinenoptimierung (SEO) / Positionierung stellen
Thies
PostRank 3
PostRank 3
Beiträge: 98
Registriert: 16.03.2006, 15:16
Wohnort: Stadtilm

Beitrag von Thies » 16.03.2006, 15:26

Hallo,

da ich ein paar phpBB-Foren auf statische Links umgestellt habe, will ich mich nun daran setzen, eine Website von mir auf Basis eines eigenen php-Tools auch von dynamischen auf statische Links umzustellen. Dank des Forums hier habe ich per Suche einige Infos gefunden und mod_rewrite scheint die beste Vorgehensweise zu sein.

Ich habe im ersten Schritt überlegt, wie meine aktuellen dynamischen Links sinnvollerweise statisch aussehen sollten und die entsprechenden RewriteRules versucht zu finden. Bevor ich jetzt in den praktischen Test einsteigen will, wollte ich gern mal von Profis wissen, ob der Grundaufbau sinnvoll ist und die RewriteRules grundsätzlich stimmen oder ob ich dort syntaktisch noch Fehler habe.

Hier mal die entsprechende Tabelle, ich hoffe, es ist verständlich.

Code: Alles auswählen

======================================================|=============================================|=================================================================================================================
AKTUELL (dynamisch)                                   | NEU (Statisch)                              | REWRITE RULE
======================================================|=============================================|=================================================================================================================
index.php                                             | index.htm                                   | RewriteRule index.html$ index.php
index.php?newsid=ZAHL                                 | /news/ZAHL-TITEL.htm                        | RewriteRule /news/([0-9]*)-(.*).html$ index.php?newsid=$1
index.php?archiv=all                                  | /archiv/index.htm                           | RewriteRule /archiv/index.html$ index.php?archiv=all
index.php?archiv=JJJJMM                               | /archiv/JJJJ/MM/index.htm                   | RewriteRule /archiv/([0-9]*)/([0-9]*)/index.html$ index.php?archiv=$1$2
======================================================|=============================================|=================================================================================================================
daten.php?system=TYP                                  | /daten/TYP/index.htm                        | RewriteRule /daten/([0-9a-zA-Z]*)/index.html$ daten.php?system=$1
daten.php?system=TYP&act=liste&id=aktuell             | /daten/TYP/aktuell.htm                      | RewriteRule /daten/([0-9a-zA-Z]*)/aktuell.html$ daten.php?system=$1&act=liste&id=aktuell
daten.php?system=TYP&act=liste&id=BUCHSTABE           | /daten/TYP/BUCHSTABE/index.htm              | RewriteRule /daten/([0-9a-zA-Z]*)/([0-9a-zA-Z]*)/index.html$ daten.php?system=$1&act=liste&id=$2
daten.php?system=TYP&act=liste&id=BUCHSTABE&page=ZAHL | /daten/TYP/BUCHSTABE/indexZAHL.htm          | RewriteRule /daten/([0-9a-zA-Z]*)/([0-9a-zA-Z]*)/index([0-9]*).html$ daten.php?system=$1&act=liste&id=$2&page=$3
daten.php?system=TYP&act=spiel&id=ZAHL                | /daten/TYP/game/ZAHL-TITEL.htm              | RewriteRule /daten/([0-9a-zA-Z]*)/game/([0-9]*)-(.*).html$ daten.php?system=$1&act=spiel&id=$2
daten.php?system=TYP&act=detail1&id=ZAHL              | /daten/TYP/cheats/ZAHL-TITEL.htm            | RewriteRule /daten/([0-9a-zA-Z]*)/cheats/([0-9]*)-(.*).html$ daten.php?system=$1&act=detail1&id=$2
daten.php?system=TYP&act=detail2&id=ZAHL              | /daten/TYP/files/ZAHL-TITEL.htm             | RewriteRule /daten/([0-9a-zA-Z]*)/cheats/([0-9]*)-(.*).html$ daten.php?system=$1&act=detail2&id=$2
daten.php?system=TYP&act=detail3&id=ZAHL              | /daten/TYP/loesungen/ZAHL-TITEL.htm         | RewriteRule /daten/([0-9a-zA-Z]*)/cheats/([0-9]*)-(.*).html$ daten.php?system=$1&act=detail3&id=$2
======================================================|=============================================|=================================================================================================================
screenshot.php                                        | /screenshot/index.htm                       | RewriteRule /screenshot/index.html$ screenshot.php
screenshot.php?game=ZAHL                              | /screenshot/game/ZAHL-TITEL/index.htm       | RewriteRule /screenshot/game/([0-9]*)-(.*)/index.html$ screenshot.php?game=$1
screenshot.php?game=ZAHL&page=ZAHL2                   | /screenshot/game/ZAHL-TITEL/indexZAHL2.htm  | RewriteRule /screenshot/game/([0-9]*)-(.*)/index([0-9]*).html$ screenshot.php?game=$1&page=$3
screenshot.php?id=ZAHL                                | /screenshot/screen/ZAHL-TITEL/index.htm     | RewriteRule /screenshot/screen/([0-9]*)-(.*)/index.html$ screenshot.php?id=$1
======================================================|=============================================|=================================================================================================================
views.php                                             | /views/index.htm                            | RewriteRule /views/index.html$ views.php
views.php?act=spiel&game=ZAHL                         | /views/ZAHL-TITEL/index.htm                 | RewriteRule /views/([0-9]*)-(.*)/index.html$ views.php?act=spiel&game=$1
views.php?act=show&id=ZAHL                            | /views/game/ZAHL-TITEL/index.htm            | RewriteRule /views/game/([0-9]*)-(.*)/index.html$ views.php?act=show&id=$1
views.php?act=show&id=ZAHL&page=ZAHL2                 | /views/game/ZAHL-TITEL/indexZAHL2.htm       | RewriteRule /views/game/([0-9]*)-(.*)/index([0-9]*).html$ views.php?act=show&id=$1&page=$3
======================================================|=============================================|=================================================================================================================
charts.php                                            | /charts/index.htm                           | RewriteRule /charts/index.html$ charts.php
charts.php?act=tag                                    | /charts/tag.htm                             | RewriteRule /charts/tag.html$ charts.php?act=tag
charts.php?act=woche                                  | /charts/woche.htm                           | RewriteRule /charts/woche.html$ charts.php?act=woche
charts.php?act=monat                                  | /charts/monat.htm                           | RewriteRule /charts/monat.html$ charts.php?act=monat
charts.php?act=alltime                                | /charts/alltime.htm                         | RewriteRule /charts/alltime.html$ charts.php?act=alltime
======================================================|=============================================|=================================================================================================================
guestbook.php                                         | /guestbook/index.htm                        | RewriteRule /guestbook/index.html$ guestbook.php
guestbook.php?page=ZAHL                               | /guestbook/indexZAHL.htm                    | RewriteRule /guestbook/index([0-9]*).html$ guestbook.php?page=$1
======================================================|=============================================|=================================================================================================================

====================================================================================
Erläuterungen
====================================================================================
TYP         = pc, xbox, ps2 etc.
ZAHL,ZAHL2  = Zahl von 1 bis 99999999999
BUCHSTABE   = 0-9,a,b,c,d,e ... x,y,z
JJJJMM      = Jahr und Monat, also z.B. 200603
TITEL       = z.B. Überschrift der News, Name des Spiels etc.
              Wird zur Üebrgabe nicht benötigt, aber dient der Übergabe von Keywords
====================================================================================
Ich wäre für Eure Unterstützung sehr dankbar.

Frank-Andre

Anzeige von ABAKUS

von Anzeige von ABAKUS »


Hochwertiger Linkaufbau bei ABAKUS:
  • Google-konformer Linkaufbau
  • nachhaltiges Ranking
  • Linkbuilding Angebote zu fairen Preisen
  • internationale Backlinks
Wir bieten Beratung und Umsetzung.
Jetzt anfragen: 0511 / 300325-0

Caesar
PostRank 4
PostRank 4
Beiträge: 159
Registriert: 22.02.2004, 00:05
Wohnort: Hanau

Beitrag von Caesar » 16.03.2006, 16:17

Das ist wirklich hilfreich, weil ich auch grad mod_rewrite lernen will.
Wie kann ich es denn machen, wenn ich alle .php seiten zu .html seiten machen will?
https://www.coder-forum.eu

Was wir wissen ist ein Tropfen, was wir nicht wissen ein Ozean

Suche Linkpartner zum Thema Führerschein, Auto und Programmieren.

matin
PostRank 9
PostRank 9
Beiträge: 1427
Registriert: 08.09.2005, 15:16
Wohnort: Grünburg

Beitrag von matin » 16.03.2006, 19:47

Caesar hat geschrieben: Wie kann ich es denn machen, wenn ich alle .php seiten zu .html seiten machen will?
guckst du https://www.modrewrite.de/13.11.0.0.1.0.phtml
https://suchmaschinentricks.at/ - Ziehen Sie die Aufmerksamkeit im Internet auf sich ...
Kaufe verschiedene Projekte mit entsprechendem Content - Kontaktaufnahme per PN

Anzeige von ABAKUS

von Anzeige von ABAKUS »

SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


Thies
PostRank 3
PostRank 3
Beiträge: 98
Registriert: 16.03.2006, 15:16
Wohnort: Stadtilm

Beitrag von Thies » 16.03.2006, 19:57

Entschuldigung, aber könnten wir bitte auf meine Fragen zurückkommen :D

Sind meine obrigen Grundgedanken, wie ich die dynamischen in statische Links ändere so sinnvoll oder gibt es bessere Vorgehensweisen und stimmen die RewriteRules oder habe ich das System nochnicht richtig verstanden?

Danke!!!

Frank-Andre

Caterham
PostRank 5
PostRank 5
Beiträge: 329
Registriert: 20.09.2004, 19:12

Beitrag von Caterham » 16.03.2006, 20:02

Warum setzt du keine L-Flags und Start-Anchors der regEx? Wenn Punkte Punkte darstellen sollen, so müssen diese im Pattern (linker Teil) escaperd werden, also \.html

Die substitution habe ich von filepaths auf URL-paths geändert, warum ist hier erklärt: https://www.modrewrite.de/foren/ftopic2132.html
RewriteRule /daten/([0-9a-zA-Z]*)/cheats/([0-9]*)-(.*).html$ daten.php?system=$1&act=detail1&id=$2
Verkompliziere nicht unnötig die regEx, wenn du den Teil nach ([0-9]*)- nicht brauchst, lasse ihn weg. Leider hast du nicht geschrieben wo du die RewriteRules einsetzt (httpd.conf, per-server context; oder .htaccess). Bedenke dass bei .htaccess-dateien die RegEx für jeden Aufruf neu kompiliert werden müssen. Je nach dem wie viele Ressourcen (Grafiken etc.) du in einer Seite eingebunden hast, kommst du da sehr schnell auf 30+. Präzisiere die RegEx daher soweit wie möglich und halte sie so einfach wie möglich.

Code: Alles auswählen

RewriteRule /daten/([0-9a-z]*)/cheats/([0-9]*)- daten.php?system=$1&act=detail1&id=$2 [L,NC]
Da du nicht geschrieben hast, dass du zugriff auf die httpd.conf hast und dann dort die regeln platzieren könntest, habe ich mal angenommen, dass das nicht der Fall ist.
[0-9a-zA-Z]
ein [a-z] in Verbindung mit dem NC-Flag dürfte schneller/einfacher zu kompilieren sein.

Einige Regeln können zu einer Regel zusammengefasst werden, bei einer anderen Linkgestaltung auch noch mehr, z.B.
daten.php?system=TYP&act=spiel&id=ZAHL | /daten/TYP/spiel/ZAHL-TITEL.htm
daten.php?system=TYP&act=cheats&id=ZAHL | /daten/TYP/cheats/ZAHL-TITEL.htm
daten.php?system=TYP&act=files&id=ZAHL | /daten/TYP/files/ZAHL-TITEL.htm
daten.php?system=TYP&act=loesungen&id=ZAHL | /daten/TYP/loesungen/ZAHL-TITEL.htm
könnte dann zu einer einzigen regel zusammengefasst werden

Code: Alles auswählen

RewriteRule ^daten/([0-9a-z]*)/([a-z]+)/([0-9]*)- /daten.php?system=$1&act=$2&id=$3 [NC,L]

Code: Alles auswählen

index.php                                             | index.htm                                   | RewriteRule ^index\.html$ /index.php [L]
index.php?newsid=ZAHL                                 | /news/ZAHL-TITEL.htm                        | RewriteRule ^news/([0-9]*)- /index.php?newsid=$1 [L]
index.php?archiv=all                                  | /archiv/index.htm                           | RewriteRule ^archiv/index\.html$ /index.php?archiv=all [L]
index.php?archiv=JJJJMM                               | /archiv/JJJJ/MM/index.htm                   | RewriteRule ^archiv/([0-9]*)/([0-9]*)/index\.html$ /index.php?archiv=$1$2 [L]
======================================================|=============================================|=================================================================================================================
daten.php?system=TYP                                  | /daten/TYP/index.htm                        | RewriteRule ^daten/([0-9a-z]*)/index\.html$ /daten.php?system=$1 [NC,L]
daten.php?system=TYP&act=liste&id=aktuell             | /daten/TYP/aktuell.htm                      | RewriteRule ^daten/([0-9a-z]*)/aktuell\.html$ /daten.php?system=$1&act=liste&id=aktuell [NC,L]
daten.php?system=TYP&act=liste&id=BUCHSTABE           | /daten/TYP/BUCHSTABE/index.htm              | RewriteRule ^daten/([0-9a-z]*)/([0-9a-z]*)/index\.html$ /daten.php?system=$1&act=liste&id=$2 [NC,L]
daten.php?system=TYP&act=liste&id=BUCHSTABE&page=ZAHL | /daten/TYP/BUCHSTABE/indexZAHL.htm          | RewriteRule ^daten/([0-9a-z]*)/([0-9a-z]*)/index([0-9]*)\.html$ /daten.php?system=$1&act=liste&id=$2&page=$3 [NC,L]
daten.php?system=TYP&act=spiel&id=ZAHL                | /daten/TYP/game/ZAHL-TITEL.htm              | RewriteRule ^daten/([0-9a-z]*)/game/([0-9]*)- /daten.php?system=$1&act=spiel&id=$2 [NC,L]
daten.php?system=TYP&act=detail1&id=ZAHL              | /daten/TYP/cheats/ZAHL-TITEL.htm            | RewriteRule ^daten/([0-9a-z]*)/cheats/([0-9]*)- /daten.php?system=$1&act=detail1&id=$2 [NC,L]
daten.php?system=TYP&act=detail2&id=ZAHL              | /daten/TYP/files/ZAHL-TITEL.htm             | RewriteRule ^daten/([0-9a-z]*)/files/([0-9]*)- /daten.php?system=$1&act=detail2&id=$2 [NC,L]
daten.php?system=TYP&act=detail3&id=ZAHL              | /daten/TYP/loesungen/ZAHL-TITEL.htm         | RewriteRule ^daten/([0-9a-z]*)/loesungen/([0-9]*)- /daten.php?system=$1&act=detail3&id=$2 [NC,L]
======================================================|=============================================|=================================================================================================================
screenshot.php                                        | /screenshot/index.htm                       | RewriteRule ^screenshot/index\.html$ /screenshot.php [L]
																						                                          # kommt in dinem TITEL sin Slash vor?
screenshot.php?game=ZAHL                              | /screenshot/game/ZAHL-TITEL/index.htm       | RewriteRule ^screenshot/game/([0-9]*)-([^/]*)/index\.html$ /screenshot.php?game=$1 [L]
screenshot.php?game=ZAHL&page=ZAHL2                   | /screenshot/game/ZAHL-TITEL/indexZAHL2.htm  | RewriteRule ^screenshot/game/([0-9]*)-([^/]*)/index([0-9]*)\.html$ /screenshot.php?game=$1&page=$3 [L]
screenshot.php?id=ZAHL                                | /screenshot/screen/ZAHL-TITEL/index.htm     | RewriteRule ^screenshot/screen/([0-9]*)-([^/]*)/index\.html$ /screenshot.php?id=$1 [L]
======================================================|=============================================|=================================================================================================================
views.php                                             | /views/index.htm                            | RewriteRule ^views/index\.html$ /views.php [L]
views.php?act=spiel&game=ZAHL                         | /views/ZAHL-TITEL/index.htm                 | RewriteRule ^views/([0-9]*)-([^/]*)/index\.html$ /views.php?act=spiel&game=$1 [L]
views.php?act=show&id=ZAHL                            | /views/game/ZAHL-TITEL/index.htm            | RewriteRule ^views/game/([0-9]*)-([^/]*)/index\.html$ /views.php?act=show&id=$1 [L]
views.php?act=show&id=ZAHL&page=ZAHL2                 | /views/game/ZAHL-TITEL/indexZAHL2.htm       | RewriteRule ^views/game/([0-9]*)-([^/]*)/index([0-9]*)\.html$ /views.php?act=show&id=$1&page=$3 [L]
======================================================|=============================================|=================================================================================================================
charts.php                                            | /charts/index.htm                           | RewriteRule ^charts/index\.html$ /charts.php [L]
charts.php?act=...                                    | /charts/....htm                             | RewriteRule ^charts/([a-z]+)\.html$ /charts.php?act=$1 [L]

======================================================|=============================================|=================================================================================================================
guestbook.php                                         | /guestbook/index.htm                        | RewriteRule ^guestbook/index\.html$ /guestbook.php [L]
guestbook.php?page=ZAHL                               | /guestbook/indexZAHL.htm                    | RewriteRule ^guestbook/index([0-9]*)\.html$ /guestbook.php?page=$1 [L]

Thies
PostRank 3
PostRank 3
Beiträge: 98
Registriert: 16.03.2006, 15:16
Wohnort: Stadtilm

Beitrag von Thies » 16.03.2006, 21:01

Hi Caterham,

Danke für Deine ausführliche Antwort!
Caterham hat geschrieben:Warum setzt du keine L-Flags und Start-Anchors der regEx?
Weil ich das einfach noch nicht wusste :( Und mit den RegEx stehe ich seit ich mich mit php beschäftige irgendwie auf Kriegsfuss.... Werde ich gleich mal nachlesen gehen.
Caterham hat geschrieben:Wenn Punkte Punkte darstellen sollen, so müssen diese im Pattern (linker Teil) escaperd werden, also \.html
Logisch, Danke für den Hinweis.
Caterham hat geschrieben:Die substitution habe ich von filepaths auf URL-paths geändert, warum ist hier erklärt: https://www.modrewrite.de/foren/ftopic2132.html
OK, muss ich mir auch mal in Ruhe anschauen
Caterham hat geschrieben:Verkompliziere nicht unnötig die regEx, wenn du den Teil nach ([0-9]*)- nicht brauchst, lasse ihn weg.
Das ist interessant, das wusste ich nicht, das man das einfach ignorieren kann. Wenn ich das richtig sehe, einfach durch ein Leerzeichen?
Caterham hat geschrieben:Leider hast du nicht geschrieben wo du die RewriteRules einsetzt (httpd.conf, per-server context; oder .htaccess). Bedenke dass bei .htaccess-dateien die RegEx für jeden Aufruf neu kompiliert werden müssen. Je nach dem wie viele Ressourcen (Grafiken etc.) du in einer Seite eingebunden hast, kommst du da sehr schnell auf 30+. Präzisiere die RegEx daher soweit wie möglich und halte sie so einfach wie möglich.
Zuerst über .htaccess Ob ich die httpd.conf anpassen darf, muss ich mal meinen SysAdmin fragen, gehe aber davon aus, dass das geht.. Da mein Tool aber auch auf dritten Seiten genutzt wird und ich es erstmal in Ruhe testen will, ist die .htaccess die einfachste Variante.
Caterham hat geschrieben:Einige Regeln können zu einer Regel zusammengefasst werden, bei einer anderen Linkgestaltung auch noch mehr.
Das werde ich mal prüfen, ob ich da Verbesserungen machen kann. In dem Zusammenhang mal eine weitere Frage:

Code: Alles auswählen

guestbook.php                                         | /guestbook/index.htm                        | RewriteRule ^guestbook/index\.html$ /guestbook.php [L] 
guestbook.php?page=ZAHL                               | /guestbook/indexZAHL.htm                    | RewriteRule ^guestbook/index([0-9]*)\.html$ /guestbook.php?page=$1 [L] 
Gibt es eine Möglichkeit, diese beiden Regeln zusammenzulegen? Ich wüsste nämlich jetzt nicht wie. Also wenn keine Zahl nach index kommt, dann nehme index.htm ansonsten indexZAHL.htm.
Caterham hat geschrieben:# kommt in dinem TITEL sin Slash vor?
/ \ - . , ; : Umlaute & Co. werde ich im Tool entweder löschen oder ändern, so dass diese Sonderzeichen im Titel nicht vorkommen können.

Danke

Frank-Andre

Caterham
PostRank 5
PostRank 5
Beiträge: 329
Registriert: 20.09.2004, 19:12

Beitrag von Caterham » 16.03.2006, 21:20

Das ist interessant, das wusste ich nicht, das man das einfach ignorieren kann. Wenn ich das richtig sehe, einfach durch ein Leerzeichen?
Nein, das leerzeichen ist der Trenner der RewriteRule-Direktive in Pattern | Substitution | Flags. Die regEx endet hir also mit dem Bindestrich. Da durch ein $ nicht das Ende der Zeichenkette markiert worden ist, ist sie nach hinten hin offen.
Ob ich die httpd.conf anpassen darf, muss ich mal meinen SysAdmin fragen
Sollte die RewriteRule dann im per-server context notiert werden (z.B. im <virtualhost> für deine Domain), dann muss dort
RewriteRule ^/index\.html$ /index.php [L]
(also führender Slash links im Pattern) notiert werden. Der Vorteil in der httpd.conf ist natürlich, dass die RewriteRules nur einmal (nämlich beim Start von apache) kompiliert werden. Daneben findet das Rewriting im per-server context bereits in einem früheren Stadium an, bevor der Request auf das Dateisystem gemappt wird.
Gibt es eine Möglichkeit, diese beiden Regeln zusammenzulegen?
Ja, allerdings nur dann, wenn dein Script mit einem aufruf von /guestbook.php?page= klar kommt, also page enthält keinen Wert. zusammengefasst ist das praktisch schon, du müsstest nur die /guestbook/index.htm-Regel entfernen.
so dass diese Sonderzeichen im Titel nicht vorkommen können
Gut. Der Ausschluss des Slashes [^/] hat den Hintergrund, dass die RegEx eventuell schneller läuft (da das rechts folgende Zeichen ausgeschlossen ist). Das ist jedoch betriebssystemabhängig, da dort die RegEx letzendlich ausgeführt wird.
Und mit den RegEx stehe ich seit ich mich mit php beschäftige irgendwie auf Kriegsfuss
ja, keine einfache Sache... aber dafür kann man tolle Sachen damit anstellen :-D

Grüße
Robert

Thies
PostRank 3
PostRank 3
Beiträge: 98
Registriert: 16.03.2006, 15:16
Wohnort: Stadtilm

Beitrag von Thies » 17.03.2006, 11:32

Hallo Robert,

Danke, die Ausführungen haben mir sehr weitergeholfen. Verstehe es langsam etwas besser :D
Caterham hat geschrieben:Ja, allerdings nur dann, wenn dein Script mit einem aufruf von /guestbook.php?page= klar kommt, also page enthält keinen Wert. zusammengefasst ist das praktisch schon, du müsstest nur die /guestbook/index.htm-Regel entfernen.
Beim Gästebuch muss ich den Code noch anpassen, damit das Script es versteht, alle anderen Bereiche kommen damit klar. Wenn $page leer oder keine Zahl ist, wird automatisch 1 gesetzt.

Eine letzte Frage habe ich noch:

Code: Alles auswählen

Aufruf&#58;      views.php?act=liste&id=BUCHSTABE&page=ZAHL
Neu&#58;          views/BUCHSTABE/indexZAHL.htm
RewriteRule  ^views/&#40;&#91;0-9a-z&#93;*&#41;/index&#40;&#91;0-9&#93;*&#41;\.html$ /views.php?act=liste&id=$1&page=$2 &#91;NC,L&#93; 
Der Part BUCHSTABE ist entweder der einzelne Buchstabe a, b, c ... oder die Zeichenkette 0-9. Mit ([0-9a-z]*) würden auch Aufrufe wie "45435ghgg45" verarbeitet werden, was nicht geht.

Per (0-9|a|b|c|d|e|...|x|y|z) erscheint mir etwas aufwendig, gibt es dafür eine einfachere Regel, damit nur ein einzelner Buchstabe oder 0-9 verarbeitet wird?

Danke

Frank-Andre

Caterham
PostRank 5
PostRank 5
Beiträge: 329
Registriert: 20.09.2004, 19:12

Beitrag von Caterham » 17.03.2006, 11:50

Ja,
...../([a-z]{0,1}|[0-9]*)/...

Thies
PostRank 3
PostRank 3
Beiträge: 98
Registriert: 16.03.2006, 15:16
Wohnort: Stadtilm

Beitrag von Thies » 17.03.2006, 12:18

OK, also 0 oder 1 Zeichen aus a-z oder eine beliebige Zahl von Zahlen. Das sagt das doch aus. Wenn ich nun nur einen Buchstaben oder genau die Zeichenkette "0-9" haben will, dann müsste das doch

Code: Alles auswählen

/&#40;&#91;a-z&#93;&#123;1&#125;|0-9&#41;/
sein, oder habe ich einen Denkfehler?

Frank-Andre

Caterham
PostRank 5
PostRank 5
Beiträge: 329
Registriert: 20.09.2004, 19:12

Beitrag von Caterham » 17.03.2006, 13:12

Ja, du kannst die 1 nutzen, aber du nullst [0-9] ja sonst auch mit dem * statt +

Wenn du's ganz genau machen möchtest, müsstest du
...../([a-z]{1}|[0-9]+)/...
nutzen.

Thies
PostRank 3
PostRank 3
Beiträge: 98
Registriert: 16.03.2006, 15:16
Wohnort: Stadtilm

Beitrag von Thies » 17.03.2006, 13:24

OK, aber [0-9]+ bedeutet doch, dass eine oder mehrere Zahlen, also 0 oder 1 oder 2 oder 44 oder 454354 doer 21232 vorkommen dürfen, aber es soll wirklich genau die Zeichenkette 0-9 sein, also

views.php?act=liste&id=0-9

Denn alle anderen Aufrufe mit Zahlen sind nicht statthaft.

Ich will es ja verstehen lernen :D

Danke für Deine Unterstützung.

Frank-Andre

Caterham
PostRank 5
PostRank 5
Beiträge: 329
Registriert: 20.09.2004, 19:12

Beitrag von Caterham » 17.03.2006, 13:36

aber es soll wirklich genau die Zeichenkette 0-9 sein
Achso, dann ja

Thies
PostRank 3
PostRank 3
Beiträge: 98
Registriert: 16.03.2006, 15:16
Wohnort: Stadtilm

Beitrag von Thies » 26.03.2006, 15:21

Mal eine andere Frage noch: Gibt es eigentlich eine Möglichkeit, sich "anzeigen" zu lassen, wie die RewriteRules nun konkret einen Link "umwandeln"? Ich teste gerade die Rules, zum Teil klappt es einwandfrei, zum Teil erscheinen aber leere Seiten oder nicht die gewünschte Seite. Ich finde aber nicht heraus, woran das liegen könnte.

Danke im Voraus

Frank-Andre

Caterham
PostRank 5
PostRank 5
Beiträge: 329
Registriert: 20.09.2004, 19:12

Beitrag von Caterham » 27.03.2006, 00:51

Über die Direktiven RewriteLog und RewriteLoglevel, notiert in der httpd.conf

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag