.htaccess probleem alternatieve tekens in adresbalk

Pagina: 1
Acties:
  • 148 views sinds 30-01-2008
  • Reageer

  • aex351
  • Registratie: Juni 2005
  • Laatst online: 12:54

aex351

I am the one

Topicstarter
Ik heb een probleem waar ik niet uitkom. het betreft een htaccess regel.

code:
1
2
3
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/?$ index.php?$1 [L,QSA]


Zoals je kan zien word alle input mits niet bestaande bestand of map is geport naar index.php. Dit werk op een paar dingen na. Wanneer ik bijvoorbeeld dubbelpunt ( : ) wil gebruiken in de url dan krijg ik een apache error. Dit wil wel werken nadat ik eerst /x/ gebruik waarbij x een willekeurige char is.

Ik zoek een manier om de dubbelpunt werkende te krijgen en overige tekens zoals *.

< dit stukje webruimte is te huur >


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 19-08 12:58

NMe

Quia Ego Sic Dico.

Kun je dit niet in je script zelf oplossen door urlencode (uitgaande van PHP; andere talen hebben vast ook wel zoiets) te gebruiken? Dat is sowieso netter.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Verwijderd

Je kunt niet zomaar allerlei tekens in URL's gaan zetten. Een URL moet gewoon aan de specificaties voldoen. En wil je een beetje handig zijn, gebruik dan bij voorkeur tekens die normaal gesproken zonder problemen in een bestandsnaam kunnen staan.

  • aex351
  • Registratie: Juni 2005
  • Laatst online: 12:54

aex351

I am the one

Topicstarter
Nee het zit hem in de htaccess. Alle input moet geaccepteerd worden. Hoe ik het dan verder afhandel is nu niet van belang. De rewrite rule zal dus moeten worden aangepast zodat het ook : (dubbelpunt) accepteerd.

< dit stukje webruimte is te huur >


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 19-08 12:58

NMe

Quia Ego Sic Dico.

Er hóórt geen dubbele punt in je url, die moet je encoden. Maar goed, als jij gelooft dat je dit in een .htaccess moet aanpassen, be my guest. ;) Maar dan hoort dit topic niet hier maar in Software Algemeen.

PRG>>SA

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • aex351
  • Registratie: Juni 2005
  • Laatst online: 12:54

aex351

I am the one

Topicstarter
-NMe- schreef op woensdag 22 maart 2006 @ 21:56:
Er hóórt geen dubbele punt in je url, die moet je encoden. Maar goed, als jij gelooft dat je dit in een .htaccess moet aanpassen, be my guest. ;) Maar dan hoort dit topic niet hier maar in Software Algemeen.

PRG>>SA
een htaccess bestand is toch geen software, dat valt onder het programmeren categorie dacht ik zo.

Er zal toch heus iemand moeten zijn die de juiste rewriteregel voor mijn probleem kan bedenken. Alles tekens moeten gewoon worden doorgegeven naar index.php. Heel simpel, alleen ik krijg het met de huidige rewrite rule niet voor elkaar omdat ie om een 1 of ander reden persee 1 cijfer/letter en een slash wilt hebben.

< dit stukje webruimte is te huur >


  • Rob
  • Registratie: Februari 2000
  • Niet online

Rob

aex351 schreef op woensdag 22 maart 2006 @ 23:46:
[...]

een htaccess bestand is toch geen software, dat valt onder het programmeren categorie dacht ik zo.

Er zal toch heus iemand moeten zijn die de juiste rewriteregel voor mijn probleem kan bedenken. Alles tekens moeten gewoon worden doorgegeven naar index.php. Heel simpel, alleen ik krijg het met de huidige rewrite rule niet voor elkaar omdat ie om een 1 of ander reden persee 1 cijfer/letter en een slash wilt hebben.
De "speciale" karakters worden (als voorbeeld de spatie) als '%20' door je browser naar de server gestuurd. De .htaccess heeft niet de kennis om van een %20 een spatie te maken, dit moet een scripting server doen.

In the beginning the Internet was a bunch of smart users with dumb terminals. Now...


  • aex351
  • Registratie: Juni 2005
  • Laatst online: 12:54

aex351

I am the one

Topicstarter
Kijk ik gebruik nu dubbele punten :
nieuws: Samsung-topmannen bekennen schuld DRAM-prijsafspraken
http://tweakers.net/meukt...:::::::::::::::::::::::::

Ik wil gewoon dat mijn htaccess bestand dat accept. ik begrijp niet wat php of wat dan ook hiermee te maken heeft.

< dit stukje webruimte is te huur >


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 19-08 12:58

NMe

Quia Ego Sic Dico.

aex351 schreef op woensdag 22 maart 2006 @ 23:46:
een htaccess bestand is toch geen software, dat valt onder het programmeren categorie dacht ik zo.
Fout gedacht. .htaccess is een manier om je server in te stellen. Instelling = configuratie. Configuratie hoort in SA.
aex351 schreef op donderdag 23 maart 2006 @ 00:07:
Kijk ik gebruik nu dubbele punten :
nieuws: Samsung-topmannen bekennen schuld DRAM-prijsafspraken
http://tweakers.net/meukt...:::::::::::::::::::::::::

Ik wil gewoon dat mijn htaccess bestand dat accept. ik begrijp niet wat php of wat dan ook hiermee te maken heeft.
Die links worden toch ergens opgebouwd, of niet dan? Dat gebeurt in je applicatie. Je applicatie behoort dan ook te zorgen dat die urls er goed uitzien, en dubbele punten horen gewoon niet thuis in een url, afgezien van bij het opgeven van het protocol en een eventuele username/pass. Je script kan ervoor zorgen dat er ook geen dubbele punt in voorkomt, maar een representatie daarvan in de vorm %##, net zoals %20 een spatie is. Als je dat niet doet conformeer je je niet aan de HTTP-standaard en krijg je dit soort ongewenst gedrag.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • aex351
  • Registratie: Juni 2005
  • Laatst online: 12:54

aex351

I am the one

Topicstarter
Het gaat er niet om hoe ik in mijn applicatie de urls opbouw. Ik ben opzoek naar een manier om , laat ik het zo zeggen : via handmatig url intikken in adressen balk, query string ongeacht wat er instaat naar index.php word gestroomt.

dus nogmaals : ben opzoek naar een rewrite rule dat de "dubbel punt" ook met zich mee pakt.

[ Voor 17% gewijzigd door aex351 op 23-03-2006 09:16 ]

< dit stukje webruimte is te huur >


  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

Ik denk dat Apache te strict is in zijn afhandeling om dit voor elkaar te krijgen. Kun je je RewriteLog eens aanzetten om te kijken wat de exacte foutmeldingen zijn die Apache geeft? :)

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


  • aex351
  • Registratie: Juni 2005
  • Laatst online: 12:54

aex351

I am the one

Topicstarter
Spider.007 schreef op donderdag 23 maart 2006 @ 09:30:
Ik denk dat Apache te strict is in zijn afhandeling om dit voor elkaar te krijgen. Kun je je RewriteLog eens aanzetten om te kijken wat de exacte foutmeldingen zijn die Apache geeft? :)
Krijg een 403 voor geschoteld.

"xx.xxx.xxx.xxx - - [23/Mar/2006:15:57:18 +0100] "GET /myFramework/aa::s HTTP/1.1" 403 219"

< dit stukje webruimte is te huur >


  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 18-08 22:57

Gerco

Professional Newbie

Dat komt misschien omdat alles wat voor de : staat in een URL de gebruikersnaam is. namelijk zoals dit:

http://gebruikersnaam:wachtwoord@server/pagina.html

Je browser zal dus bij het opvragen van deze url de pagina http://server/pagina.html gaan opvragen, waarbij hij "gebruikersnaam" als loginnaam en "wachtwoord" als wachtwoord meegeeft.

Als je nu schrijft: "http://server/directory/pagina:2.html", zal je browser dus proberen een niet bestaande pagina op te halen met gebruikersnaam "server/directory/pagina" en als wachtwoord "2.html".

Dat lijkt me niet helemaal de bedoeling en het lijkt me ook niet iets om in een .htaccess aan te passen, als dat überhaupt al mogelijk is. URLs kunnen gewoon geen ongecodeerde ":" bevatten. URLencode deze en je probleem is opgelost.

Misschien heb ik het ook wel mis en zal de afwezigheid van de "@" zorgen dat het soms goed gaat, maar ik zou er niet op rekenen. Het lijkt me echter niet helemaal uit de lucht gegrepen, aangezien 403 "Access denied" betekent.

[ Voor 36% gewijzigd door Gerco op 23-03-2006 16:27 ]

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


  • aex351
  • Registratie: Juni 2005
  • Laatst online: 12:54

aex351

I am the one

Topicstarter
voorbeeld #2
pcextreme.nl/algemeen::bedrijf <-- dubbel punt.

< dit stukje webruimte is te huur >


  • Rob
  • Registratie: Februari 2000
  • Niet online

Rob

aex351 schreef op donderdag 23 maart 2006 @ 18:25:
voorbeeld #2
pcextreme.nl/algemeen::bedrijf <-- dubbel punt.
Apache en je browser houden zich aan regels (RFC nogwat), als jij iets vraagt wat niet volgens de regels is, dan kunnen ze er niets mee.
Jij kan dan heel graag willen dat ze het wel doen, maar daar kan je niets mee.

In the beginning the Internet was a bunch of smart users with dumb terminals. Now...


Verwijderd

Wat eenvoudige testjes van mij wijzen uit dat het moet kunnen. Mediawiki werkt bijvoorbeeld ook gewoon onder Apache. Er moet toch iets anders aan de hand zijn, of het gaat om een bug.

Volgens de specificaties mogen er soms toch dubbelepunten in dat gedeelte van URL's voorkomen. Maar het blijft uiterst onverstandig om gereserveerde tekens zomaar in je URL te gaan gebruiken als er niet eens een goede reden voor is.

  • aex351
  • Registratie: Juni 2005
  • Laatst online: 12:54

aex351

I am the one

Topicstarter
Verwijderd schreef op donderdag 23 maart 2006 @ 19:35:
Wat eenvoudige testjes van mij wijzen uit dat het moet kunnen. Mediawiki werkt bijvoorbeeld ook gewoon onder Apache. Er moet toch iets anders aan de hand zijn, of het gaat om een bug.

Volgens de specificaties mogen er soms toch dubbelepunten in dat gedeelte van URL's voorkomen. Maar het blijft uiterst onverstandig om gereserveerde tekens zomaar in je URL te gaan gebruiken als er niet eens een goede reden voor is.
de reden is er, nu nog de correcte rewrite rule. iemand moet toch vast en zeker iets kunnen bedenken.

< dit stukje webruimte is te huur >

Pagina: 1