RewriteRule: Punkt zum Muster hinzufügen

For topics beyond KeyHelp. / Für Themen jenseits von KeyHelp.
Post Reply
PadMan
Posts: 18
Joined: Sat 15. Jan 2022, 04:02
Location: /home/users

RewriteRule: Punkt zum Muster hinzufügen

Post by PadMan »

Hallo,

ich habe folgende RewriteRule:

Code: Select all

RewriteRule ^([a-zA-Z-_]+)/?$ index.php?parameter=$1 [NC,L]
Übergabe mit

Code: Select all

domain.tld/wert
klappt ja, nur wenn ich was mit einem Punkt brauche

Code: Select all

domain.tld/bei.spiel
dann klappt es nicht. Wenn ich allerdings einen Punkt in

Code: Select all

[a-zA-Z-._]
einfüge, egal welche Position, dann klappt kein Parameter mehr, wie könnte der Punkt ebenfalls verwendet werden?

Im Netz fand ich leider keine Lösung.

Vielen Dank.
Viele Grüße / greetings
PadMan
User avatar
24unix
Posts: 1560
Joined: Sun 21. Jun 2020, 17:16
Location: Kollmar
Contact:

Re: RewriteRule: Punkt zum Muster hinzufügen

Post by 24unix »

Probier mal, den Punkt zu escapen (\.).
Ansonsten steht er ja als Platzhalter.
mfg Micha
--
If Bill Gates had a nickel for every time Windows crashed …
… oh wait, he does.
PadMan
Posts: 18
Joined: Sat 15. Jan 2022, 04:02
Location: /home/users

Re: RewriteRule: Punkt zum Muster hinzufügen

Post by PadMan »

24unix wrote: Fri 21. Jan 2022, 10:54 Probier mal, den Punkt zu escapen (\.).
Hatte ich schon, aber dann werden die angehängten Parameter wieder nicht mehr ausgewertet, sind funktionslos.
Ansonsten steht er ja als Platzhalter.
Ich weiß, und einige Beispiele die ich im Netz fand, enthielten ja auch einen Punkt 🤔

Der Gedanke zu dieser Sache ist, dass die URL etwas "hübscher"und die Eingaben im CLI auch kürzer sind ;)

Beispiel wäre dies hier (Wunsch mit Punkt)

Code: Select all

curl beispieladresse.tld/para.meter
:lol:
Viele Grüße / greetings
PadMan
User avatar
24unix
Posts: 1560
Joined: Sun 21. Jun 2020, 17:16
Location: Kollmar
Contact:

Re: RewriteRule: Punkt zum Muster hinzufügen

Post by 24unix »

Für meine API (viewtopic.php?f=16&t=11109) habe ich im Prinzip die .htaccess von Symfony genommen:

Code: Select all

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_URI}::$0 ^(/.+)/(.*)::\2$
    RewriteRule .* - [E=BASE:%1]
    RewriteCond %{HTTP:Authorization} .+
    RewriteRule ^ - [E=HTTP_AUTHORIZATION:%0]
    RewriteCond %{ENV:REDIRECT_STATUS} =""
    RewriteRule ^index\.php(?:/(.*)|$) %{ENV:BASE}/$1 [R=301,L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ %{ENV:BASE}/index.php [L]
</IfModule>
Die reicht den kompletten Request an die index.php, verändert nicht die URL im Browser und ich kann ganz bequem den Pfad auswerten.

Kommt auch mit einem Punkt klar.
Attachments
get.png
mfg Micha
--
If Bill Gates had a nickel for every time Windows crashed …
… oh wait, he does.
Post Reply