---
title: "Skriva om url i htaccess"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/191795-skriva-om-url-i-htaccess"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "keppan"
published: "2013-10-18T17:00:14.000Z"
updated: "2013-10-19T09:52:04.000Z"
replies: 8
views: 1046
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/php/191795-skriva-om-url-i-htaccess"
---

# Skriva om url i htaccess

## #1 — keppan, 2013-10-18T17:00Z

Kan man skriva om url:en i htaccess.

exempel: 

<https://www.minsida.com/något_som_kan_variera/något_annat.html>

till

<https://www.minsida.com/något_annat.html>

Tacksam för svar

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

## #2 — Danne V, 2013-10-18T18:02Z

Menar du att användaren ska hamna på en annan sida?
Visst. Gör ett sök på t.ex. htaccess redirect

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

## #3 — keppan, 2013-10-18T18:14Z

Jag har sökt på det. Men exemplen visar bara t.ex index.php till något annat.
Jag vill att <https://www.minsida.com/vadsomhelst/något-.html> ska tabort "vadsomhelst"

och med "vadsomhelst" menar jag att vid ett tillfälle står det "abc" och ett annat tillfälle står det "def".

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

## #4 — Danne V, 2013-10-19T07:55Z

> **[keppan skrev:](https://www.webforum.nu/p/1569042)**
>
> Jag har sökt på det. Men exemplen visar bara t.ex index.php till något annat.
> Jag vill att <https://www.minsida.com/vadsomhelst/något-.html> ska tabort "vadsomhelst"
> 
> och med "vadsomhelst" menar jag att vid ett tillfälle står det "abc" och ett annat tillfälle står det "def".

Då har du nog letat lite dåligt.

<http://httpd.apache.org/docs/2.0/misc/rewriteguide.html>
<https://kb.mediatemple.net/questions/85/Using+.htaccess+rewrite+rules#gs>
<http://coding.smashingmagazine.com/2011/11/02/introduction-to-url-rewriting/>
<http://www.addedbytes.com/articles/for-beginners/url-rewriting-for-beginners/>

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

## #5 — keppan, 2013-10-19T08:54Z

Ok, det är löst nu.
Den som vill veta HUR jag (med hjälp av en grym medlem nitro2k01) löste det kan gå in på länkarna i ovanstående inlägg och läsa tills håret faller av. Eller om man inte riktigt förstår allt det där med ^/+\*(\*.) mm, men ändå behöver hjälp med detta får man gärna pm:a mig så hjälper jag till med det lilla jag kan.

:)

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

## #6 — nitro2k01, 2013-10-19T09:31Z

Jag hjälpte till i PM, men här kommer en sammanfattning av problemet och lösningen.

Det finns felaktiga länkar i Googles resultat som pekar mot <http://www.minsida.com/fel/fel/något.html> men ska leda till <http://www.minsida.com/något.html> 

```
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+/)+([^/]+)$ /$2 [R=301,L]
```

De två första raderna är conditions som appliceras på nästföljande regel. De två första villkoren betyder att regeln inte appliceras om adressen leder till en katalog eller fil (d som i directory, f som i file.) Meningen med detta är att riktiga filer som ligger i en admin-katalog inte ska påverkas av denna regel och riktas om.

**^** matcha början av uttrycket.
**Delförklaring av (\[^/\]+/)+**
**\[^/\]** matcha ett tecken som inte är en slash.

**\+** upprepning av det tidigare, en eller flera gånger. 

**/** matcha en slash.

**\[^/\]+/** kan alltså matcha blabla/ eller liknande.

**()+** betyder "gruppera det som finns innanför parenteserna". **\+** betyder som tidigare en eller flera upperpningar. Grupperingen används här för att kunna upprepa ett helt underuttryck.

**(\[^/\]+/)+** i sin helhet kan matcha t ex **blabla/** , **blabla/blabla/** eller **blabla/blabla/blabla/**

**Delförklaring av (\[^/\]+)**
**()** Betyder även här gruppering, men meningen med denna gruppering är att kunna få ut den matchande strängen ur uttrycket. Eftersom detta är den andra gruppen motsvarar innehåller i parentesen **$2** senare i regeln.
**\[^/\]** som tidigare, matcha ett tecken som inte är /
**\+** som tidigare, en eller fler upprepningar

**$** markerar matching av slutet av strängen, dvs inget får komma efter.

Delförklaring av **/$2**
Detta är destinationsadressen.
**/** en enkel framåtslash. Betyder att adressen ska utgå från webbroten istället för relativt vad webbläsaren tror är den nuvarande mappen.
**$2** betyder matchning nr 2 från uttrycket.

Med andra ord, i alla dessa adresser kommer strängen **123** plockas ut, och bilda **/123** som destinationsadress.
**blabla/123
blabla/blabla/123
blabla/blabla/blabla/123**

**Delförklaring av \[R=301,L\]**
**R=301** betyder att denna regel inte är en intern omriktning (rewrite) utan en redirect som säger åt webbläsaren att gå till en annan sida. 301 står för statuskoden för en sida som har flyttat permanent.
**L** betyder att denna regel räknas som den sist (last) och att inga mer regler ska behandlas efter denna.

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

## #7 — keppan, 2013-10-19T09:38Z

Hur tolkar google R=301 i detta fallet?
Förstår Google att den flyttade adressen är /123 och inte blabla/123.
Eller plockas länken bort från Goggle?

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

## #8 — nitro2k01, 2013-10-19T09:48Z

Google tolkar det som att sidan har bytt adress till den nya.

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

## #9 — keppan, 2013-10-19T09:52Z

Lysande:)
Tack

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

---

Tråden på webben: https://www.webforum.nu/amne/php/191795-skriva-om-url-i-htaccess
