WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Hjälp med rewrite (https://www.wn.se/forum/showthread.php?t=1053081)

MattiasW 2012-04-17 08:03

Hjälp med rewrite
 
htaccess är inte min bästa vän alltid, jag har strul med en rewrite.

Jag försöker skriva om gamla adresser på en webbplats, /index.php?page=product&id=23523 ska bli till /products/min-produkt.html

För att göra det skriver jag om alla träffar på index.php som har querystring med ?page=*, till en fil som heter redirect.php (där jag gör en databaskoll efter rätt produkt/kategori m.m.). Jag vill behålla min querystring när den kommer till redirect.php

Jag har fått det att fungera bra med /index.php?page=etc, men den gamla siten hade inte index.php med i adresserna, och jag lyckas inte skriva om när inte index.php finns med i adressen.

Min rewrite fångar upp /index.php?page=blabla men inte /?page=blabla

Så här ser det ut hittills, det är framför allt övre delen som är problemet:
Kod:

# vill skriva om utan index.php, fungerar bara med...
RewriteCond %{QUERY_STRING} ^page=(.*)$
RewriteCond %{REQUEST_URI} !^/redirect\.php
RewriteRule ^index\.php$ /redirect.php [R,L,QSA]
RewriteRule ^/\?page=(.*) /redirect.php [R,L,QSA]

# omskrivning i systemets snygga url, fungerar
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?url=$1 [PT,L]


MattiasW 2012-04-17 20:33

Äh, glöm det - behövde bara ta ett steg tillbaka för att se en mycket enklare lösning - jag exkluderar bara allt med ?page= tar hand om resten i PHP :rolleyes:


Alla tider är GMT +2. Klockan är nu 12:34.

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