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]