webForumDet fria alternativet

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

Webbservrarur Webbserver

3 svar · 341 visningar · startad av Tinwëlint

TinwëlintMedlem sedan maj 2004451 inlägg
#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å?

GunnarDMedlem sedan juni 20014 290 inlägg
#2

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

TinwëlintMedlem 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.

TinwëlintMedlem 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

128 ms totalt · 3 externa anrop · v20260731065814-full.29ac60f6
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)