UPDATE: I added a 404 error document:
<IfModule mod_rewrite.c>
RewriteEngine on
ErrorDocument 404 /new404.html
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?path=$1 [NC,L,QSA]
</IfModule>
But nothing has changed.
I have a problem with an apache snippet:
RewriteRule ^(.*)$ /index.php?path=$1 [NC,L,QSA]
in
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?path=$1 [NC,L,QSA]
</IfModule>
I created to obtain an URL like this:
http://localhost:8888/en
http://localhost:8888/en/team
http://localhost:8888/en/anything
And I called my PHP file like this:
team-en.html.php
anything-en.html.php
This because I have different languages.
now, that's my PHP file to display them:
$path = isset($_GET['path']) ? $_GET['path'] : false;
$path = strtolower($path);
$path = preg_replace("/[^a-z-\/]/", '', $path);
$parts = explode("/", $path);
if (is_array($parts) && isset($parts[1])) {
if (file_exists(__DIR__ . '/processors/' . $parts[1] . '.php')) {
$processor = $parts[1];
}
if (file_exists(__DIR__ . '/pages/' . $parts[1] . '-'. $language .'.html.php')) {
$page = $parts[1];
}
}
Where languages variable is:
$language = 'en';
$languages = [];
$languages[] = 'en';
$languages[] = 'nl';
$languages[] = 'fr';
Now, this won't return a 404 page for some reason and will return only a 200 header response.
I'm wondering if anyone has experience in setting up a 404-page system, I read a lot of tutorials but none of them gave me a satisfying answer.
Thank you in advance