
We wanted to create the absolute most basic routing code in PHP, so here it is. We will direct ALL traffic to index and route to the new files from here.
Redirect all requests to index.php
In the root of your project, create a .htaccess
file that will redirect all requests to index.php
.
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.
<?php
$request = $_SERVER['REQUEST_URI'];
switch ($request) {
case '/' :
require __DIR__ . '/home.php';
break;
case '' :
require __DIR__ . '/home.php';
break;
case '/about' :
require __DIR__ . '/views/about.php';
break;
default:
http_response_code(404);
require __DIR__ . '/error.php';
break;
}
Create the views
Create a /views
directory and place the files.
<h1>Main</h1>
<h1>About</h1>
<h1>404</h1>
That's it!
Sophie Asveld
February 14, 2021
Email is a crucial channel in any marketing mix, and never has this been truer than for today’s entrepreneur. Curious what to say.
Ariana Gerad
February 14, 2021
Email is a crucial channel in any marketing mix, and never has this been truer than for today’s entrepreneur. Curious what to say.
Sophie Asveld
February 14, 2021
Email is a crucial channel in any marketing mix, and never has this been truer than for today’s entrepreneur. Curious what to say.