Kom ihåg mig?
Home Menu

Menu


.htaccess

Ämnesverktyg Visningsalternativ
Oläst 2009-10-07, 19:04 #1
pontus pontus är inte uppkopplad
Flitig postare
 
Reg.datum: Mar 2003
Inlägg: 450
pontus pontus är inte uppkopplad
Flitig postare
 
Reg.datum: Mar 2003
Inlägg: 450
Exclamation .htaccess

Har bankat mitt huvud i väggen ett tag över .htaccess. Kan någon peka på vart problemet ligger:

RewriteRule ^(.*)$ index.php?q=$1 [L]

Detta vill jag uppnå:

doman.com/vad (doman.com/index.php?q=vad)
doman.com/index.php (doman.com/index.php?q=index.php)
doman.com/img/gif/document.pdf (doman.com/index.php?q=img/gif/document.pdf)

Med andra ord, index.php är den ända filen som finns på servern och allt som skrivs in efter doman.com/ ska hanteras av index.php filen.

Problemet är att rewriten ovan ger följande resultat:
doman.com/h2h2/h2h (doman.com/index.php?q=index.php)
doman.com/test (doman.com/index.php?q=index.php)

Någon som har insiktsfulla tips, brukar inte ha problem med htaccess men har alldrig försökt ge mig på att skriva om *allt`*, blir väll en konflikt med index.php av något slag....

EDIT: Fick insperation till detta av a9, är ju underbart att kunna skriva a9.com/sokord för att söka, slippa besöka sidan först.

Senast redigerad av pontus den 2009-10-07 klockan 19:10 Anledning: Ett exempel
pontus är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-10-07, 19:14 #2
tartareandesire tartareandesire är inte uppkopplad
Supermoderator
 
Reg.datum: Jan 2004
Inlägg: 11 585
tartareandesire tartareandesire är inte uppkopplad
Supermoderator
 
Reg.datum: Jan 2004
Inlägg: 11 585
Du är på rätt väg, detta bör fungera:

Kod:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
QSA är givetvis valfritt men kan ibland vara trevligt att ha med.

PS. Varför blir det tomma rader i slutet av kodblocket? DS.
__________________
Full-stack developer, free for smaller assignments
tartareandesire är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-10-07, 19:35 #3
pontus pontus är inte uppkopplad
Flitig postare
 
Reg.datum: Mar 2003
Inlägg: 450
pontus pontus är inte uppkopplad
Flitig postare
 
Reg.datum: Mar 2003
Inlägg: 450
Jag bugar och bockar, det funkar. Hade säkerligen tagit mig timmar att lista ut detta. Förstår inte vad du gjorde, 99% av gångerna jag använder htaccess handlar det om basicgrejer där mina kunskaper räcker alledes utmärkt. hehe

Igen, tack för hjälpen.
pontus är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-10-07, 19:47 #4
Clarence Clarence är inte uppkopplad
Administratör
 
Reg.datum: Jan 2003
Inlägg: 1 974
Clarence Clarence är inte uppkopplad
Administratör
 
Reg.datum: Jan 2003
Inlägg: 1 974
Citat:
Ursprungligen postat av tartareandesire Visa inlägg
PS. Varför blir det tomma rader i slutet av kodblocket? DS.
Det ska vara fixat nu. Lite dum CSS i vad jag tror var vbulletins default-kod.
Clarence är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-10-07, 19:53 #5
pontus pontus är inte uppkopplad
Flitig postare
 
Reg.datum: Mar 2003
Inlägg: 450
pontus pontus är inte uppkopplad
Flitig postare
 
Reg.datum: Mar 2003
Inlägg: 450
Ok, dags för en tilläggsfråga.

doman.com/hej?hej blir doman.com/index.php?q=hej. Antar att man behöver decoda "?" i htaccess på något vis? förstår att doman.com/index.php?q=hej?hej blir lite skumt. Går det att göra så att allt skickas till index?

Har jag totalt missat något? Är tyvärr inte så haj på apache-servrar eller processerna bakom php, vet inte hur jag ska hantera detta... hehe

Senast redigerad av pontus den 2009-10-07 klockan 19:54 Anledning: Förtydligande..!
pontus är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-10-07, 23:47 #6
Jonas Jonas är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Feb 2004
Inlägg: 3 364
Jonas Jonas är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Feb 2004
Inlägg: 3 364
doman.com/hej?what=do&hello=world så skickas det 3st GET variablar:
* q = hej
* what = do
* hello = world

QSA i .htaccess tillåter detta. Ta bort QSA så får du bara en (q = hej )
Jonas är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-10-09, 21:05 #7
pontus pontus är inte uppkopplad
Flitig postare
 
Reg.datum: Mar 2003
Inlägg: 450
pontus pontus är inte uppkopplad
Flitig postare
 
Reg.datum: Mar 2003
Inlägg: 450
Kan göra en uppdate om någon annan skulle ha nytta av detta, om jag vill att all text ska skickas till skriptet så använder jag bara:

$string = substr($_SERVER["QUERY_STRING"], 2);

http://www.domain.com/hem&?fds&fgsdsdf=dfs3
=>
http://www.domain.com/q=hem&?fds&fgsdsdf=dfs3
=> $string = hem&?fds&fgsdsdf=dfs3
pontus är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 14:56.

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