mod-rewrite
Grundläggande interna omskrivningar
Sök…
Fancy url till php-skript
I det här exemplet skriver vi om url: er från formen http://example.com/topic/id-seoname
till ett php-skript som tar en ID som input. Detta exempel förväntar sig att regeln är i "per-katalog" -sammanhang .
RewriteEngine on
RewriteRule ^topic/([0-9]+)-[^/]*/?$ /topics.php?id=$1 [L]
I det här exemplet är topic/
det vanliga prefixet för alla ämnen. Det följs av ett nummer som används av skriptet. Slutligen visas seo-namnet. Detta seo-namn ignoreras av mod_rewrite, eftersom det bara finns där av SEO-skäl. Det andra argumentet i RewriteRule
innehåller webbadressen att skriva om till. Platshållaren $1
ersätts med innehållet i den första capture-gruppen i regexet före den. I detta fall kommer den att ersättas med vad som matchas med ([0-9]+)
.
Url med frågesträngen till php-skript
För att matcha en frågesträng måste ett villkor läggas till i RewriteRule
. Detta görs genom att sätta RewriteCond
direktiv före motsvarande regel. I följande exempel skriver vi internt en gammal url till en ny url dynamiskt.
RewriteCond %{QUERY_STRING} ^name=([^&]*)$
RewriteRule ^oldscript\.php$ newscript.php?username=%1 [L]
Observera att för att matcha den bokstavliga pricken måste vi fly den med en snedstreck. %1
ersätts med den första inspelningsgruppen med föregående tillstånd. I detta fall ersätts det av vad som matchas av ([^&]*)
.