Для вашего .htaccess
вы можете сделать это:
RewriteEngine ON
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?mode=$1 [L,QSA]
Однако, не меняйте свой PHP-код на include
, что бы вы ни получали от $_GET['mode']
!Это позволит пользователям включать по желанию.
Вы можете настроить свой PHP-код следующим образом:
$pages = array("register" => "includes/register.php",
"login" => "includes/login.php");
if(isset($_GET['mode']) && $pages[$_GET['mode']])
include $pages[$_GET['mode']];
PS: два RewriteCond
гарантируют, что URL не существуетфайл или папка (т. е. если у вас есть папка images
, то site.com/images все равно перейдет в эту папку вместо index.php?mode=images
.