• Login
  • Register
  • Zoek
This Thread
  • Everywhere
  • This Thread
  • This Forum
  • Articles
  • Pages
  • Forum
  • Filebase Entry
  • More Options

ICTscripters

Dé plek voor IT

Dé plek voor IT

Login

Geavanceerde opties
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  9. Goedkope domeinnamen
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  9. Goedkope domeinnamen
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  9. Goedkope domeinnamen
  1. Dé plek voor IT - ICTscripters
  2. Forum
  3. Scripting & programmeren
  4. Overige

Forum

  • Beta-testers gezocht voor Crypto-oefenplatform

    Syntax 29 januari 2026 om 16:11
  • Na 15 jaar terug van weggeweest: iCriminals.nl is terug (BETA)!

    Syntax 19 januari 2026 om 09:34
  • Developer Gezocht

    Mikevdk 10 januari 2026 om 18:57
  • Op zoek naar de legends

    Syntax 5 januari 2026 om 13:50
  • [FREE] WeFact Hosting module

    Jeroen.G 13 oktober 2025 om 14:09
  • Help testers nodig voor android app Urgent

    urgentotservices 26 september 2025 om 10:21
  • Versio vervanger

    Jeroen.G 25 augustus 2025 om 15:56
  • Afspraken systeem met planbeperking

    Lijno 1 augustus 2025 om 23:04

Marktplaats

  • 321 Nieuwe Domeinnamen December 2025

    shiga 1 januari 2026 om 10:26
  • Meerdere mafia game template te koop

    Syntax 26 december 2025 om 00:07
  • Van een pixelige afbeelding naar een strakke, moderne website

    Syntax 21 december 2025 om 17:05

htaccess rewrite optionele variabelen

  • wimmpie
  • 1 november 2015 om 12:22
  • wimmpie
    âllo âllo
    Ontvangen Reacties
    11
    Berichten
    1.170
    • 1 november 2015 om 12:22
    • #1

    Hallo allemaal,

    Ik heb momenteel de volgende htaccess code:

    Apache Configuration
    #.htaccess file for webBase
    
    
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /Webbase/
    
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    
    
    
    
    RewriteRule ^mailbox/?(.*)/?(.*)$ mailbox.php?p=$1&cat=$2 [QSA]
    </IfModule>
    Toon Meer

    Nu zit ik met een lastig probleem, de tweede variabele die in de url terechtkomt wordt niet doorgegeven.

    domein.com/mailbox werkt
    domein.com/mailbox/1 werkt
    domein.com/mailbox/1/favourites geeft geen verschil met domein.com/mailbox/1

    Nochtans werkt domein.com/mailbox.php?p=1&cat=favourites wel...

    Weet iemand wat ik hier fout doe?

    Alvast bedankt!

    Willem

  • FangorN
    Professional
    Ontvangen Reacties
    196
    Articles
    2
    Berichten
    737
    • 1 november 2015 om 14:38
    • #2

    Waarschijnlijk is je RewriteRule niet expliciet genoeg.

    /? wil zeggen "optionele slash" denk ik?
    (.*) wil zeggen "match (en vang) een subpatroon van 0f of meer karakters"

    Dit is wellicht te vrijblijvend in die zin dat de match sneller wordt afgerond dan je eigenlijk wilt.

    Beter is wellicht een set (hele) expliciete RewriteRules die van specifiek naar algemeen gaan.
    Eerst maak je dus een ReWriteRule die controleert op "mailbox/(.*)/(.*)", dan een die controleert op "mailbox/(.*)" en tot slot een die controleert op simpelweg "mailbox".

    Het bovenstaande werkt altijd, maar persoonlijk zou ik dit anders aanpakken. Ik zou alles van de vorm mailbox/(.*) doorsturen naar een script, alwaar je verder uitpluist wat die (.*) dan verder inhoudt en bepaalt wat je gaat doen. Je hebt dan aan één RewriteRule genoeg, maar je moet dan dus wat meer code schrijven. Beide methoden hebben voor- en nadelen.

  • wimmpie
    âllo âllo
    Ontvangen Reacties
    11
    Berichten
    1.170
    • 1 november 2015 om 20:04
    • #3

    @FangorN, als ik het goed begrijp zou jij dus alle variabelen doorsturen als één grote blok, om ze vervolgens met php uit elkaar te trekken met een explode().

  • FangorN
    Professional
    Ontvangen Reacties
    196
    Articles
    2
    Berichten
    737
    • 1 november 2015 om 23:27
    • #4

    Wel als je meer van dit soort pagina's hebt, anders neemt het aantal rewriterules nogal snel toe.

    Maar als quickfix ga gewoon voor de eerste variant (maak aparte, expliciete rules).

    Mijn alternatieve oplossing voert wellicht wat ver voor wat je op dit moment probeert te bereiken.

  • Thisguyisgone
    Elite members
    Ontvangen Reacties
    197
    Berichten
    7.880
    • 2 november 2015 om 00:19
    • #5

    Ik heb het volgende, bekijk het maar is. Is gewoon met PHP ;)
    https://github.com/Ezdesigneu/modrewrite

  • FangorN
    Professional
    Ontvangen Reacties
    196
    Articles
    2
    Berichten
    737
    • 2 november 2015 om 13:26
    • #6
    Citaat van Ferhat.Remory

    Ik heb het volgende, bekijk het maar is. Is gewoon met PHP ;)
    https://github.com/Ezdesigneu/modrewrite

    Neeeeeeeeeeeeeeeeeeeeeeeeeeeee :).

    Waarom doet iedereen altijd het volgende:

    Bash
    RewriteRule ^(.*)/$ index.php?route=$1 [L]

    Hiermee "reserveer" je op voorhand expliciet $_GET['route']. Dat is helemaal niet nodig. Je kunt gewoon alles doorsturen naar index.php, en dan je REQUEST_URI ontleden met behulp van parse_url(). Je hoeft hiervoor helemaal niets in $_GET te stoppen.

    Ik vind het wel interessant hoe je via die .ini files (en de verwerking ervan) een soort van tweedeling kunt maken tussen wat "URL" is en wat "variable" is, maar de uiteindelijke URL moet uniek zijn, dus aan die "slug" zou je ook een soort van pagina-type kunnen hangen ("news") met bijbehorende properties (o.a. "news id").

    Ik denk dat je hier wel iets werkends mee kan maken, maar sommige dingen zouden gerefactored moeten worden en andere dingen zou ik echt aanpassen (omdat ze niet helemaal kloppen - een van de eerste dingen die ik zou introduceren is een autoloader). Ik denk ook dat ik snel bepaalde zaken zou missen (zie hieronder).

    Het probleem, of liever gezegd, de uitdaging wanneer je met dit soort functionaliteit aan de slag gaat is dat je een aantal zaken tegelijkertijd moet gaan regelen.

    Denk bijvoorbeeld aan:
    - authorisatie (gebruikersbeheer, rechten, rollen)
    - een intern link systeem waarbij links blijven kloppen als URLs veranderen (dit wordt nog wel eens vergeten)
    - sitestructuur (waarbinnen je authorisatie kunt toepassen)
    - flexibiliteit van het uiterlijk van je uiteindelijke pagina (denk aan het kunnen wijzigen van het hoofd-template, het dynamisch toevoegen van CSS, JavaScript of inline JavaScript)
    en last but not least
    - het gemak waarmee je nieuwe functionaliteit kunt ontwikkelen

    @Ferhat.Remory als je een keer notities wilt vergelijken, lijkt me interessant.

Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!

Maak een account aan Login

ICT Nieuws

  • Fijne feestdagen

    tcbhome 28 december 2025 om 13:55
  • Kritieke update voor Really Simple Security-plug-in

    K.Rens 16 november 2024 om 16:12
  • ING Nederland streeft naar ondersteuning van Google Pay tegen eind februari

    K.Rens 2 november 2024 om 16:09

Blogs

  • Functioneel ontwerp

    Dees 28 december 2014 om 12:38
  • Access Control List implementatie in PHP/MySQL - deel 1/2

    FangorN 28 december 2018 om 12:35
  • Access Control List implementatie in PHP/MySQL - deel 2/2

    FangorN 29 december 2018 om 12:37

Gebruikers die dit topic bekijken

  • 1 Gasten
  1. Marktplaats
  2. Design
  3. Voorwaarden
  4. Ons team
  5. Leden
  6. Geschiedenis
  7. Regels
  8. Links
  9. Privacy Policy
ICTscripters ©2005 - 2026 , goedkope hosting door DiMoWeb.com, BE0558.915.582
Sponsors: Beste kattenhotel provincie Antwerpen | Beste Zetes eid kaartlezer webshop
Style: Nexus by cls-design
Stylename
Nexus
Manufacturer
cls-design
Licence
Commercial styles
Help
Supportforum
Visit cls-design