Я хочу сделать свои собственные правила перезаписи URL, используя пару PHP-MySQL. Концепция состоит в том, чтобы иметь правило в моем .htaccess, которое отправляет весь запрос в мой файл index.php, например:
RewriteRule ^([a-zA-Z0-9_-]+)/$ index.php RewriteCond %{REQUEST_URI} !\.(.+)$ RewriteRule ^(.*)([^/])$ http://%{HTTP_HOST}/$1$2/ [L,R=301].
И php будет принимать все параметры через супер глобальный var, например $_SERVER['REQUEST_URI'] и explode("/", $_SERVER['REQUEST_URI']) .
function rewrite () {
$ paramKeys = array ("", "locale", "page", "par1", "par2", "par3", "par4", "par5");
$ paramValues = explode ("/", $ _SERVER ['REQUEST_URI']);
foreach ($ paramValues как $ key => $ value) {
if (! is_array ($ key)) {
$ paramValues [$ key] = htmlspecialchars (stripslashes (trim ($ value)));
if ($ key == 0) {// но первая косая черта в конце URL
Продолжать;
}
elseif ($ key == sizeof ($ paramKeys)) {
ломать;
}
else $ params [$ paramKeys [$ key]] = $ value;
}
else continue;
}
return $ params;
}
И сравните запрошенный URL-адрес с URL-адресами в моей базе данных, чтобы отправить http-статут в порядке, в котором запрашиваемый файл найден 200, переместился 301 или не найден 404.
У меня плохая идея? если нет, как я могу его совершенствовать. Спасибо !