FAQ |
Kalender |
![]() |
#1 | ||
|
|||
Flitig postare
|
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 |
||
![]() |
![]() |
![]() |
#2 | ||
|
|||
Supermoderator
|
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] PS. Varför blir det tomma rader i slutet av kodblocket? DS.
__________________
Full-stack developer, free for smaller assignments |
||
![]() |
![]() |
![]() |
#3 | ||
|
|||
Flitig postare
|
Jag bugar och bockar, det funkar. Hade säkerligen tagit mig timmar att lista ut detta.
![]() Igen, tack för hjälpen. ![]() |
||
![]() |
![]() |
![]() |
#4 | ||
|
|||
Administratör
|
|||
![]() |
![]() |
![]() |
#5 | ||
|
|||
Flitig postare
|
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..! |
||
![]() |
![]() |
![]() |
#6 | ||
|
|||
Klarade millennium-buggen
|
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 ) |
||
![]() |
![]() |
![]() |
#7 | ||
|
|||
Flitig postare
|
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 ![]() |
||
![]() |
![]() |
Svara |
|
|