---
title: "mod_rewrite funkar ej"
type: "forum-thread"
url: "https://www.webforum.nu/amne/webbutveckling/165182-mod-rewrite-funkar-ej"
topic: "Webbutveckling"
topic_url: "https://www.webforum.nu/amne/webbutveckling"
author: "bohlin"
published: "2007-10-05T09:44:07.000Z"
updated: "2007-10-05T15:52:08.000Z"
replies: 5
views: 570
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/webbutveckling/165182-mod-rewrite-funkar-ej"
---

# mod_rewrite funkar ej

## #1 — bohlin, 2007-10-05T09:44Z

Jag håller på och testar mod_rewrite, men får det ej att fungera.
Så här ser .htaccess ut
RewriteEngine on

RewriteBase /
RewriteRule ^movies.html$ m.php \[L\]
RewriteRule ^movie/(\[0-9\]+)?$ m.php?id=$id \[L\]

första regeln funkar, om man skriver domän.se/movies.html så visas m.php
Men om man skriver domän/movie/1 så kommer man inte till m.php?id=1, utan en tom vit visas, och det är inte m.php som visas. Tyvärr har jag inte tillgång till apaches errorlog (filerna ligger hos loopia).

Har jag gjort något galet i den andra regeln, eller borde det fungera? 

MVH Johan

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

## #2 — The_Hulk, 2007-10-05T09:49Z

Inkluderar du några filer i m.php?
kolla så att sökvägarna blir rätt även efter mod_rewrite.
mycket möjligt att php tror att m.php ligger i movie-katalogen.
skapa en ny php-fil som bara skriver ut $id utan att inkludera andra filer så kan du se om det fungerar.

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

## #3 — bohlin, 2007-10-05T11:55Z

såhär ser m.php ut:
\<?php

print("Detta är m.php");

?\>

<http://www.domän.se/m.php> ger "Detta är m.php"
Medans domän.se/movie/1 ger en blank sida. Det är som om php-sidan inte körs alls.

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

## #4 — colione, 2007-10-05T12:16Z

RewriteRule ^movie/(\[0-9\]+) m.php?id=$1 \[L\]

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

## #5 — bohlin, 2007-10-05T14:23Z

m.php:
\<?php

print("Detta är m.php");

if (isset($\_GET\["id"\]))
   print("\<br\>Id är " . $\_GET\["id"\]);
?\>

Nu ser .htaccess ut såhär:
RewriteEngine on

RewriteBase /
RewriteRule ^movie/(\[0-9\]+) m.php?id=$1 \[L\]
RewriteRule ^movie(\[0-9\]+) m.php?id=$1 \[L\]
RewriteRule ^movies.html$ m.php \[L\]

www.domän.se/movies.html funkar. m.php visas korrekt (regel 3)
www.domän.se/movie123 funkar, m.php?id=123 körs (regel 2)
www.domän.se/movie/123 funkar INTE. en tom sida visas. m.php körs inte (regel 1)

Regeln ser väl rätt ut?

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

## #6 — colione, 2007-10-05T15:52Z

Nej, jag som tappade bort mig lite..du måste ha med ett rewritecond när filen/directoryn i fråga inte existerar.

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^movie/?(\[0-9\]+?)$ m.php?id=$1 \[L\]
RewriteRule ^movies.html$ m.php \[L\]

Regeln RewriteRule ^movie/?(\[0-9\]+?)$ m.php?id=$1 \[L\] gör så att du inte behöver skilja mellan movies123 och movies/123, då första frågetecknet gör slashen optional.

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

---

Tråden på webben: https://www.webforum.nu/amne/webbutveckling/165182-mod-rewrite-funkar-ej
