webForumDet fria alternativet

mod_rewrite verkar läsa av mitt pattern lite som den vill

Webbservrar

3 svar · 341 visningar · startad av Tinwëlint

Medlem sedan maj 2004451 inlägg
Frågan#1

Använder mod_rewrite för att skriva om mina php-querysträngar till snygga url:er. Den här regeln använder jag (i en .htaccess-fil):

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

/admin/ är här en mapp som man ska kunna ha åtkomst till så den exkluderas.
Det konstiga är hursomhelst att på när jag skriver vissa strängar som t. ex. /historia/ så får jag ett 404-meddelande (och det beror inte på det php-skript som de omskrivna urlerna skickas till) men om jag skriver vissa andra strängar som /nyheter/ så fungerar omskrivningen som den ska. Någon som har någon idé på vad detta kan bero på?

Medlem sedan juni 20014 290 inlägg
#2

Prova att slå på loggin (rewritelog) och se vad som händer.

Medlem sedan maj 2004451 inlägg
#3

Jag tänkte göra det men det finns ett stort problem. Jag har inte kontroll över servern, den ligger på ett webbhotell. Men jag ska testa lite mot min lokala server och se.

Medlem sedan maj 2004451 inlägg
#4

Jaja. Det löste sig. Jag modifierade koden lite grann efter ett exempel som jarvklo visade här: http://www.webforum.nu/showthread.php?postid=978302#post978302
Nu ser det alltså ut såhär:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?page=$1 [QSA,L]

och fungerar som det ska

258 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)