---
title: "Lyckas fånga del av URL med htaccess"
type: "forum-thread"
url: "https://www.webforum.nu/amne/webbservrar/183107-lyckas-fånga-del-av-url-med-htaccess"
topic: "Webbservrar"
topic_url: "https://www.webforum.nu/amne/webbservrar"
author: "greyhound"
published: "2010-04-08T13:03:33.000Z"
updated: "2010-04-08T17:08:26.000Z"
replies: 5
views: 697
page: 1
pages: 1
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/webbservrar/183107-lyckas-fånga-del-av-url-med-htaccess"
---

# Lyckas fånga del av URL med htaccess

## #1 — greyhound, 2010-04-08T13:03Z

Tjena!

Jag skulle vilja få ut delen mellan andra och tredje "/". Det är säkert lätt att lösa men jag lyckas inte :) Det kan vara mera text efter sista "/" också.

```
/search/renttype-all.place-all.type-all.bedrooms-all.0.0/
```

Har testat följande regler men det funkar inte.

```
RewriteRule ^search/(.+)/$ index.php?Search=0&Arg=$1 [NC]
RewriteRule ^search/(.+)/(.+)$ index.php?Search=0&Arg=$1 [NC]
```

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

## #2 — nitro2k01, 2010-04-08T13:17Z

$ matchar ju slutet av strängen. Har du med både **^** och **$** måste uttrycket alltså matcha hela strängen (alt. misslyckas). **.** (punkt) matchar ju valfritt tecken, så i förekommande fall kan den även matcha **/**. Jag föreslår följande som utgångspunkt:

```
RewriteRule ^search/([^/]+)/ index.php?Search=0&Arg=$1 [NC]
```

**\[^/\]** matchar valfritt tecken som inte är **/**. **\[^/\]+** uppenbart då 1 eller flera sådana tecken, följt av /. Notera dock att det inte finns något **$** så efter / kan vad som helst följa, och detta kastas bort. Det ligger utanför uttryckets matchningsområde i detta fall.
Man skulle även kunna förfina det till **\[a-zA-Z0-9\\-.\]** om man vet att strängen bara innehäller bokstäver, nuffror, **\-** samt **.**.

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

## #3 — greyhound, 2010-04-08T13:32Z

> **[nitro2k01 skrev:](https://www.webforum.nu/p/1502340)**
>
> $ matchar ju slutet av strängen. Har du med både **^** och **$** måste uttrycket alltså matcha hela strängen (alt. misslyckas). **.** (punkt) matchar ju valfritt tecken, så i förekommande fall kan den även matcha **/**. Jag föreslår följande som utgångspunkt:
>
> ```
> RewriteRule ^search/([^/]+)/ index.php?Search=0&Arg=$1 [NC]
> ```
>
> **\[^/\]** matchar valfritt tecken som inte är **/**. **\[^/\]+** uppenbart då 1 eller flera sådana tecken, följt av /. Notera dock att det inte finns något **$** så efter / kan vad som helst följa, och detta kastas bort. Det ligger utanför uttryckets matchningsområde i detta fall.
> Man skulle även kunna förfina det till **\[a-zA-Z0-9\\-.\]** om man vet att strängen bara innehäller bokstäver, nuffror, **\-** samt **.**.

Tack för ett bra svar! Dock lyckas jag inte med något :)
Jag testade med båda men ingen funkade

```
RewriteRule ^search/([^/]+)/ index.php?Search=0&Arg=$1 [NC]
RewriteRule ^search/([a-zA-Z0-9\-.]+)/ index.php?Search=0&Arg=$1 [NC]
```

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

## #4 — nitro2k01, 2010-04-08T13:49Z

Det funkar inte alls alltså? Kan det vara så enkelt att du har glömt att sätta på omskrivningsmotorn?

```
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^search/([^/]+)/ index.php?Search=0&Arg=$1 [NC]
```

Rad 1 gör just detta och måste köras innan några RewriteRule's kan komma på tal. Rad 2 anger vilken bas du utgår från. Rad 3 och 4, gör att sökvägar som motsvarar filer respektive mappar inte skrivs om. (Kan tas bort i detta fall) Och sist kommer som sagt uttrycket.

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

## #5 — greyhound, 2010-04-08T14:59Z

> **[nitro2k01 skrev:](https://www.webforum.nu/p/1502344)**
>
> Det funkar inte alls alltså? Kan det vara så enkelt att du har glömt att sätta på omskrivningsmotorn?
>
> ```
> RewriteEngine On
> RewriteBase /
> RewriteCond %{REQUEST_FILENAME} !-f
> RewriteCond %{REQUEST_FILENAME} !-d
> RewriteRule ^search/([^/]+)/ index.php?Search=0&Arg=$1 [NC]
> ```
>
> Rad 1 gör just detta och måste köras innan några RewriteRule's kan komma på tal. Rad 2 anger vilken bas du utgår från. Rad 3 och 4, gör att sökvägar som motsvarar filer respektive mappar inte skrivs om. (Kan tas bort i detta fall) Och sist kommer som sagt uttrycket.

Nej det är inte det, jag har andra regler som funkar. Även om jag tar bort alla andra regler så funkar det inte.

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

## #6 — greyhound, 2010-04-08T17:08Z

Hittade felet! Eftersom jag hade en fil med namnet search.php så skippade den min regel. Jag får helt enkelt byta namn på den bara.

Tack för hjälpen nitro2k01!

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

---

Tråden på webben: https://www.webforum.nu/amne/webbservrar/183107-lyckas-fånga-del-av-url-med-htaccess
