Just nu i M3-nätverket
Gå till innehåll

.htaccess vill inte leda sidorna rätt! suck!


Peter Westerlund

Rekommendera Poster

Peter Westerlund

Har försökt snygga till adresserna med .htaccess, men lyckas bara inte. Har brottats med detta i över en vecka nu. Behöver hjälp!

 

Det jag vill göra är:

 

Att köra den sökväg som börjar efter första mappen i adressen. Alltså om t ex adressen är test.se/foretag/mapp/fil.php så ska test.se/mapp/fil.php vara den sida som egentligen visas, om den finns. Om sidan inte finns, ska sidan /page.php köras istället. Om det inte finns något sökväg alls efter första mappen, så visas index. Alltså, test.se/foretag är egentligen test.se/.

 

Jag får bara inte till detta. Så här långt har jag kommit som längst:

 

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule /(.*) /$1 [QSA]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .*/(.+) /page.php [L,QSA]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . / [QSA]

 

Men med ovan så fungerar inte test.se/foretag/fil.php, som då leder till /page.php när den istället ska leda till test.se/fil.php

 

Vill veeerkligen få det att funka...så jobbigt! :(

Länk till kommentar
Dela på andra webbplatser

Tror inte att det går att lösa med htaccess, den sköter omskrivning men kan nog inte kontrollera om en fil finns eller inte, så det får du lösa i page.php, skicka med namnet på den fil som ska köras, om det är fil.php så kör den filen.

Länk till kommentar
Dela på andra webbplatser

Peter Westerlund

Men det är ju:

 

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f

 

som kollar om dir och file existerar. Så det vet jag att det går. Och det fungerar på andra sajter jag har där jag satt liknande kod men enklare. Men samma typ av funktionalitet.

 

EDIT:

 

Herregud....jag lyckades nu själv :o

 

Lösningen:

 

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule /(.*) $1 [QSA]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule /(.*) /page.php [L,QSA]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . / [QSA]

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...