phpframeworksstandardsurl-routing

How to Implement URL Routing in PHP


How to implement URL Routing in PHP.


Solution

  • If you use Apache you can do the URL routing via mod_rewrite.

    Small example:

    RewriteEngine On
    RewriteRule ^(dir1)/?(path2)? main.php?dir=$1&path=$2
    

    That'll have any request like

    http://yoursite.com/dir1/path1 
    

    served by

    http://yoursite.com/main.php?dir=dir1&path=path2
    

    More examples here.

    The other alternative have every request redirect to a single php file

    RewriteEngine On
    RewriteRule (.*) main.php?request=$1
    

    and then to do it in code, where you can use a similar approach, by having a set of regular expressions that are matched by some code and then redirected via header() or just internally.