Home » Php » frameworks – How to Implement URL Routing in PHP

frameworks – How to Implement URL Routing in PHP

Posted by: admin July 12, 2020 Leave a comment


How to implement URL Routing in PHP.

How to&Answers:

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


served by


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.


First of all, you will need Apache’s (I suppose your webserver is Apache) mod_rewrite to be enabled.

Then, you need to create a RewriteRule to redirect everything to your index.php page.

Something like this could do :

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* index.php 

It will redirect every request to a file that doesn’t exist to index.php ; this means that, if the requested URL is www.example.com/blah, it is actually index.php that will be called.

About that, here a couple of link that can help :

Then, this page has to determine what has to be displayed, depending on what initial URL was called — or what parameters are received.

This can be done using the Design Pattern Front Controller, for instance — it’s implemented in most modern PHP Frameworks, for instance.

There have been many questions of this subject on SO ; some of those (and their answers) might probably help you. For instance :