Я хочу сделать свои собственные правила перезаписи 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.
У меня плохая идея? если нет, как я могу его совершенствовать. Спасибо !