0% found this document useful (0 votes)
23 views1 page

The Simplest PHP Router - Tania Rascia

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
23 views1 page

The Simplest PHP Router - Tania Rascia

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 1

Home About Blog Projects GitHub

The Simplest PHP Router


I wanted to create the absolute most basic routing code in PHP, so here it is. We will
direct ALL traffic to index.php and route to the new files from there.

Redirect all requests to index.php


In the root of your project, create a .htaccess file that will redirect all requests to
index.php .

.htaccess

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)$ index.php [QSA,L]

Create a routing switch


Get the requested path with $_SERVER['REQUEST_URI'] , and require the page you
want to display. I have '' and '/' for both url.com/ and url.com.

index.php

<?php

$request = $_SERVER['REQUEST_URI'];

switch ($request) {
case '/' :
require __DIR__ . '/views/index.php';
break;
case '' :
require __DIR__ . '/views/index.php';
break;
case '/about' :
require __DIR__ . '/views/about.php';
break;
default:
http_response_code(404);
require __DIR__ . '/views/404.php';
break;
}

Create the views


Create a /views directory and place the files.

/views/index.php

<h1>Main</h1>

/views/about.php

<h1>About</h1>

/views/404.php

<h1>404</h1>

That's it!

About me Post Details

Hello and thanks for visiting! My name is Published: June 2018


Tania Rascia, and this is my website and Category: PHP
digital garden. 🌱

Tags
I'm a software developer who makes open-
source projects and writes about life, code, php snippets router
design, and more. This site is and has
always been free of ads, trackers, social
Subscribe to the Newsletter
media, affiliates, and sponsored posts.

Comments

Newsletter Ko-Fi Patreon RSS

Gatsby GitHub Netlify

You might also like