WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   mod_rewrite vill inte fungera (https://www.wn.se/forum/showthread.php?t=15793)

HenSod 2006-08-23 19:07

Jag vill att mina länkar ska ändras från /index.php?page=1 till /startsidan.html.
Jag har skrivit in följande i .htaccess:
Kod:

RewriteEngine On
RewriteBase /svennes/
RewriteRule ^(.*).html$ /index.php?page=$1

Men det vill inte fungera.

sxe2570 2006-08-23 19:33

Du måste escapa .(punkt)

Kod:

RewriteEngine On
RewriteBase /svennes/
RewriteRule ^(.*)\.html$ /index.php?page=$1


HenSod 2006-08-23 20:10

Det hjälpte inte. Kan det bero på att jag har merän page i querystring?

sxe2570 2006-08-23 23:05

Vad fungerar inte? Exemplet jag gav fungerar, testat och klart. Vad får du för felmeddelande samt hur ser din .htaccess-kod ut?

HenSod 2006-08-24 14:12

Det här finns i min .htaccess:
Kod:

RewriteEngine On
RewriteBase /svennes/
RewriteRule ^(.*)\.html$ /index.php?page=$1

Det är det enda som finns förnärvarande. De länka som är index.php?page=* vill jag ha till *.html. Det är detta som inte fungerar. Länkarna ser fortfarande ut på förljande vis: index.php?page=*.
Jag får inget felmeddelande.

Emj 2006-08-24 21:22

Vadå länkarna? De får du väl ändra själv?

HenSod 2006-08-25 14:32

Jomen grejen är ju den att url:en www.doman.tld/index.php?page=* ska bli till www.doman.tld/*.html. Det är ju det jag vill använda mod_rewrite till. Har jag missuppfattat vad mod_rewrite gör?

Dood 2006-08-25 15:14

Låter som om det är detta du vill göra. Eller?

I index.php:

$page = $_GET["page"];
Header("Location: " . $page . ".html");

sxe2570 2006-08-25 21:55

Citat:

Originally posted by HenSod@Aug 25 2006, 14:32
Jomen grejen är ju den att url:en www.doman.tld/index.php?page=* ska bli till www.doman.tld/*.html. Det är ju det jag vill använda mod_rewrite till. Har jag missuppfattat vad mod_rewrite gör?
I ditt fall sker detta:

Besökaren går in via
www.doman.tld/svennes/*.html

Webbservern efterfrågar då sidan:
www.doman.tld/index.php?page=*

etanders 2006-08-26 20:44

Citat:

Originally posted by HenSod@Aug 23 2006, 19:07
Jag vill att mina länkar ska ändras från /index.php?page=1 till /startsidan.html.
Jag har skrivit in följande i .htaccess:
Kod:

RewriteEngine On
RewriteBase /svennes/
RewriteRule ^(.*).html$ /index.php?page=$1

Men det vill inte fungera.

Som jag tolkar det du vill göra har du vänt på html- och php-delarna i rewrite-raden.

Jag har inte testat, men borde det inte vara så här istället?

Kod:

RewriteRule ^index\.php\?page=(.*)$  /$1.html  [L]

edit: Kom på att det kanske inte alls går att komma åt innehållet i querystring på detta sätt? För övrigt så gör ju Doods lösning ovan precis vad HenSod vill, fast utan att använda mod_rewrite.


Alla tider är GMT +2. Klockan är nu 02:13.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson