webForumDet fria alternativet

Rewrite-fråga som jag ej kan sätta någon bättre rubrik på

PHP

3 svar · 604 visningar · startad av prplxr

Medlem sedan juni 2012581 inlägg
Frågan#1

Hej!

(Suck, slutar han aldrig posta nya trådar?)

Jag sitter och klurar på hur en rewrite rule skulle se ut för, låt säga den här länken:

https://www.example.com/page/contact/module/email = index.php?page=contact&module=email
https://www.exemple.com/a/1/b/2/c/3/d/4 = index.php?a=1&b=2&c=3&d=4

Alltså, varannan är namnet på variabeln och var annan är värdet. Går det att lösa på något sätt?

Medlem sedan juni 2009920 inlägg
#2

Du hämtar värdet med PHP $_GET

$page = $_GET['page']; // $page = 'contact'

Tolkade jag frågan rätt? Förstod inte riktigt vad du vill åstadkomma...

Medlem sedan juni 2012581 inlägg
#3

Nej, det var inte det jag menade. Jag menade att jag vill använda mod_rewrite för att skriva om URLerna till querystrings.

Om man skriver https://www.exemple.com/a/1/b/2/c/3/d/4 i adressfältet så ska den skrivas om till index.php?a=1&b=2&c=3&d=4.

Dvs, om jag går till den URLen, https://www.exemple.com/a/1/b/2/c/3/d/4, så ska:

echo $_GET['a'] . " " . $_GET['b'] . " " . $_GET['c'] . " " . $_GET['d'];

ge

1 2 3 4
Medlem sedan juni 2012581 inlägg
#4

Om någon är intresserad så har jag nu löst det och såhär ser lösningen ut:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/([^/]+)(/.*)?$ $3?$1=$2 [N,QSA,DPI]
RewriteRule ^(/[^/]+|[^/]+/|/?)$ /index.php [L,QSA,DPI]
267 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
131 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)