Kom ihåg mig?
Home Menu

Menu


tillåta specifik query string i .htaccess?

Ämnesverktyg Visningsalternativ
Oläst 2013-01-29, 21:57 #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
Comment tillåta specifik query string i .htaccess?

Tjena alla.

Har en ganska ordentlig .htaccess-fil 500+ rader med en blandning RewriteRules likt:

Kod:
RewriteRule ^wo-man/([a-z]+)$ php_accesser.php?bbcf=c&mrec=19&s=$1 [L]
RewriteRule ^two/([a-z]+)$ php_accesser.php?bbcf=c&mrec=20&s=$1 [L]
RewriteRule ^fly$ php_accesser.php?bbcf=p&rec=1 [L]
RewriteRule ^tobuy.html$ php_accesser.php?bbcf=s&rec=6 [L]
RewriteRule ^semester/([0-9]+)/(.*)$ php_accesser.php?bbcf=b&adf=$1&sib=$2 [L]
Nu behöver jag dock tillåta samtliga RewriteRules att acceptera en specifik query string("woom").

Expempel:
wo-man/ab
wo-man/ab?woom=1 - query strängen skickas vidare
wo-man/ab?hej=1 - query strängen ignoreras av .htaccess

Att flagga varje RewriteRule QSA hade löst problemen om det ej vore för att det tillåter samtliga query strings.

Min fråga, hur löser man detta bäst? Finns det någon lösning på ett par rader som tillåter samtliga RewriteRules att acceptera den specifikaquery strängen?
(Något i stil med:
RewriteCond %{QUERY_STRING} woom
RewriteRule ^(.*)$ $1 [QSA])

Är ej helt haj på htaccess så alla förslag uppskattas... =)
pontus är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-01-29, 22:11 #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
Jag skulle föreslå att du tänker om helt. Att lägga upp mängder med rewrite rules är ingen bra idé. Du gör bättre i att hantera mer av logiken i PHP + databas istället
__________________
Full-stack developer, free for smaller assignments
tartareandesire är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-01-29, 22:21 #3
Björn Björn är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: May 2004
Inlägg: 1 224
Björn Björn är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: May 2004
Inlägg: 1 224
Håller med tartareandesire. Det du annars kan göra är satsa på mer generella regler och förflytta delar till PHP. Tex skicka samtliga request till index.

edit.

För att svara på din fråga. RewriteCond i kombination med ! tecknet kan nog vara rätt väg. Stackoverflow är din vän
Björn är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-01-29, 22:43 #4
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
Tack för svaren.

@tartareandesire Jo, du kanske har rätt. Men då få av urlerna faktiskt innehåller någon slags identifierare vilken typ av data som efterfrågas kändes mer prestandavänligt att köra mängder med rewrite rules än att göra ytterligare ett databasanropp för att ta reda på vilken typ av data som är associerad med urlen och vilken databas-tabel den finns i.

@Björn Jo, är inne lite på RewriteCond, men har ej listat exakt hur det löses, främst om det går att skriva något generiskt som påverkar samtliga RewriteRules. Men är ej helt insatt i ämnet. (och har givetvis googlat och stackowerflowat innan jag frågade) =)
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 01:22.

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