Изменено немного по сравнению с тем, как это делает Drupal . Это перенаправляет все в rest.php и помещает исходный запрошенный URL-адрес в $ _GET ['q'], чтобы вы предприняли соответствующее действие. Вы можете поместить это в конфигурацию apache или в свой .htaccess. Убедитесь, что mod_rewrite включен.
RewriteEngine on
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^(.*)$ rest.php?q=$1 [L,QSA]
Если все, что вам нужно, это включить запрошенный файл, вы можете сделать что-то вроде этого
<?php
if (!empty($_GET['q'])) {
$source = $_GET['q'] . '.php';
if (is_file($source)) {
include $source;
} else {
echo "Source missing.";
}
}
?>
Вы действительно не хотите этого делать, однако; например, если кто-то запросит «/../../../etc/passwd», вы можете в конечном итоге подать то, что вам не нужно.
Мне кажется, что-то более безопасное.
<?php
if (!empty($_GET['q'])) {
$request = $_GET['q'];
switch ($request) {
case 'test1':
include 'test1.php';
break;
default:
echo 'Unrecognised request.';
break;
}
}
?>