---
title: "Enkla adresser vid databaspublicering"
type: "forum-thread"
url: "https://www.webforum.nu/amne/webbutveckling/129829-enkla-adresser-vid-databaspublicering"
topic: "Webbutveckling"
topic_url: "https://www.webforum.nu/amne/webbutveckling"
author: "K@llen"
published: "2005-06-11T18:09:50.000Z"
updated: "2005-09-14T19:26:36.000Z"
replies: 20
views: 1016
page: 1
pages: 2
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/webbutveckling/129829-enkla-adresser-vid-databaspublicering"
---

# Enkla adresser vid databaspublicering

_Sida 1 av 2._

## #1 — K@llen, 2005-06-11T18:09Z

Tjabba,

Jag hade ett liknande problem när jag bytte från html- till php-filer. Nu när jag bygger en ny sajt vill jag göra rätt direkt vad adresser avser.

Ponera att jag har ett artikelsystem. Adressen till en artikel kan då bli:

<http://www.domain.se?article=231&cat=12>

Artikeln ligger lagrad i en databas och hämtas direkt därifrån och presenteras för besökaren. Helst skulle man kanske vilja ha en edres som ser ut så här:

<http://www.domain.se/article/12/231>

eller nått. Hur få till bra och enkla adresser som inte binder mig till en filtyp. Jag har kikat lite på min tidigare lösning:

<http://www.webforum.nu/showthread.php?s=&postid=1001052#post1001052>

Hur bör jag utforma adressen på bästa sätt?

Permalänk: https://www.webforum.nu/p/129829

## #2 — Gislaved, 2005-06-11T18:56Z

Har du stöd för mod_rewrite? Då kan du ju använda dig av det för att alltid peka till rätt filer, oavsett vilket programspråk du föredrar.

Använd det för att plocka variabler ur adressen. Detta innebär även att du kan lägga till variabler i adressen som egentligen inte påverkar själva innehållet, men som ger bättre placering i sökmotorerna.

example.org/12/231/sidans-titel

Permalänk: https://www.webforum.nu/p/1629487

## #3 — K@llen, 2005-06-11T18:59Z

Jo, den biten med mod_rewrite är jag med på. Men det blir ju en helsikes massa kataloger, eller är jag fel på det? Simulerar jag bara en fysisk adress?

Permalänk: https://www.webforum.nu/p/1629488

## #4 — Gislaved, 2005-06-11T19:10Z

Du behöver inga riktiga kataloger. Du säger helt enkelt bara till webbservern (med mod_rewrite) att alla sökvägar som börjar med /article/ ska skickas vidare till /visasida.php?kategori=12&sida=345

Jag använder ett sådant system för <https://www.gastbok.nu>  Jag har nästan 30 000 gästböcker, men allt körs från ett enda script i en katalog. Det hade blivit svårt att hålla reda på alla kataloger annars.

Permalänk: https://www.webforum.nu/p/1629491

## #5 — K@llen, 2005-06-11T19:22Z

Kan hända jag är en smula trög nu. Men skickar jag vidare till /visasida.php?kategori=12&sida=345 då visas väl den adressen i adressraden? Eller tänker jag tokigt? Missar jag något viktigt i sammanhanget?

Permalänk: https://www.webforum.nu/p/1629495

## #6 — Gislaved, 2005-06-11T19:34Z

Nej, det var lite slarvigt uttryckt av mig. Vidarebefordringen sker internt, och syns aldrig för besökaren. 

Din .htaccess skulle kunna se ut såhär:

```
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^artikel/(.*)$ /artikel.php?querystring=$1 [L]
```

Säg att anropet ser ut så här:

example.org/artikel/12/345

Då laddar vi filen
example.org/artikel.php?querystring=12/345

För besökaren syns fortfarande den översta adressen i fönstret.
Splitta sedan strängen med PHP.

```php
$querystring = $_GET["querystring"];
$delar = explode("/", $querystring);

$kategori = $delar[0];
$artikel = $delar[1];
```

Permalänk: https://www.webforum.nu/p/1629502

## #7 — jarvklo, 2005-06-11T19:45Z

Yep - mod-rewrite är praktiskt, och om man vill kan man meka vidare med reglerna för att täcka in flera parametrar utan att koda in något i applikationen - även om reglerna kan bli lite grötiga om man har speciella önskemål :)

Surfa till t.ex. <http://xhtml.se/2005/04/> och du utlöser regeln 

```
RewriteRule ^([0-9]{4})/([0-9]{1,2})/?$ /index.php?year=$1&monthnum=$2 [QSA,L]
```

 \- dvs parametrarna splittas i regeln så att fyra siffor följt av en "/" och sedan en eller två siffror till, och den första siffergruppen (mellan det första parentesparet i uttrycket) kopplas via $1, det andra via $2 ...

:birp

Permalänk: https://www.webforum.nu/p/1629506

## #8 — Gislaved, 2005-06-11T19:46Z

> **jarvklo skrev:**
>
> PS - example.org/artikel/12/345 bör det väl vara i föregående exempel ?

Det känns bra att jag hann se felet själv innan du påpekade det.

Permalänk: https://www.webforum.nu/p/1629507

## #9 — jarvklo, 2005-06-11T19:48Z

Hihi... Du var så snabb att du t.o.m. hann kommentera komentaren under de ca 20 sekunder den låg ute innan jag såg att du ändrat och redigerade bort den  :bire

Permalänk: https://www.webforum.nu/p/1629508

## #10 — K@llen, 2005-06-11T19:51Z

Gaaah, nu börjar det bli meckigt. Ännu en anledning att lära sig Reguljära uttryck. Något som jag hela tiden föser framåt i tiden. :(

Tack grabbar, jag ska pula med det jag fått hittills. Får säker anledning att återkomma i tråden när problem (garanterat) uppstår. :D

Permalänk: https://www.webforum.nu/p/1629509

## #11 — lillebror, 2005-06-14T15:52Z

> **Gislaved skrev:**
>
> Säg att anropet ser ut så här:
> 
> example.org/artikel/12/345

Är poängen med detta sätt att göra sökvägen oberoende av vilket programspråk man använder sig av? Eller finns det flera fördelar gentemot det traditionella sättet <http://www.domain.se/?article=231&cat=12>?

Permalänk: https://www.webforum.nu/p/1630620

## #12 — Gislaved, 2005-06-14T16:12Z

Poängerna kan vara flera. Dels kan det, som du nämner, vara fördelaktigt att behålla adresser även om du byter programspråk. Dels kan det innebära att sökmotorerna får det lättare att hitta på din sida. Script kiddies kanske undviker att leta hål på din sida om det är krångligt att se vilket programspråk du använder. 

Sen tycker jag dessutom att det är snyggare.

Permalänk: https://www.webforum.nu/p/1630628

## #13 — Guffa, 2005-06-14T21:30Z

Här är lite bra läsning om hur man väljer sina adresser:
<http://www.w3.org/Provider/Style/URI>

Permalänk: https://www.webforum.nu/p/1630716

## #14 — Compusa, 2005-06-14T22:08Z

Finns det någon bra sida där man kan läsa mer om mod_rewrite? Gärna tutorial :)

Permalänk: https://www.webforum.nu/p/1630738

## #15 — SONICdust, 2005-09-02T09:25Z

> **Compusa skrev:**
>
> Finns det någon bra sida där man kan läsa mer om mod_rewrite? Gärna tutorial :)

Behöver också en guide, steg för steg. Fattar inte varför jag aldrig förstår hur jag gör detta. 

Gör man allt i .htaccess filen????

Permalänk: https://www.webforum.nu/p/1664857

## #16 — SONICdust, 2005-09-02T13:02Z

då är det 59 minuter kvar för att hjälpa mig lite innan den omtalade uppgraderingen...

Permalänk: https://www.webforum.nu/p/1664934

## #17 — Gislaved, 2005-09-04T16:50Z

> **SONICdust skrev:**
>
> > **Compusa skrev:**
> >
> > Finns det någon bra sida där man kan läsa mer om mod_rewrite? Gärna tutorial :)
>
> 
> Behöver också en guide, steg för steg. Fattar inte varför jag aldrig förstår hur jag gör detta. 
> 
> Gör man allt i .htaccess filen????

Det mesta görs i .htaccess-filen. Ofta gör du en enkel vidarebefordran till rätt script, och behandlar sedan informationen på rätt sätt.

Permalänk: https://www.webforum.nu/p/1664966

## #18 — lilja, 2005-09-04T16:58Z

Rätta mig om jag har fel med detta gäller väl bara på Apaches webbserver?

Eller kan man göra sånt här på IIS också??

Permalänk: https://www.webforum.nu/p/1664973

## #19 — SONICdust, 2005-09-04T19:34Z

> **Gislaved skrev:**
>
> Det mesta görs i .htaccess-filen. Ofta gör du en enkel vidarebefordran till rätt script, och behandlar sedan informationen på rätt sätt.

 Är extra tög då det är söndag kväll... kan du inte visa lite kod exempel på det du menar så kanske jag hänger med...

Permalänk: https://www.webforum.nu/p/1665065

## #20 — mrhaze, 2005-09-13T09:29Z

> **lilja skrev:**
>
> Rätta mig om jag har fel med detta gäller väl bara på Apaches webbserver?
> 
> Eller kan man göra sånt här på IIS också??

Du kan göra det i IIS genom att mappa olika filtillägg till olika program. Om du t ex. mappar filtillägget ".htm" till c:\\windows\\microsoft.net\\framework\\v2.0.50215\\aspnet_isapi.dll (ASP.NET) så kan du programmera .NET i vanliga .htm sidor. Samma gäller med t ex .gif bilder så att .NET kan hantera dessa och t ex streama ut <https://www.mindoman.se/bild.gif> från en SQL databas..  :) 

Finns många möjligheter, bygger ett CMS system i .NET som använder sig av virtuella .htm sidor som genereras från databas. På så sätt kan jag få <https://www.mindoman.se/minkatalog/minfil.htm> att vara helt dynamisk men ändå se statisk ut så att besökare enkelt kommer ihåg adressen samt (nog viktigast!) att sökmotorer kan indexera mina sidor på ett optimalt sätt.

Permalänk: https://www.webforum.nu/p/1671362

---

Tråden på webben: https://www.webforum.nu/amne/webbutveckling/129829-enkla-adresser-vid-databaspublicering  
Nästa sida: https://www.webforum.nu/amne/webbutveckling/129829-enkla-adresser-vid-databaspublicering/page2.md
