Я работаю над тем, чтобы сделать мой сайт более удобным для SEO, который я использую в настоящее время
RewriteEngine On RewriteRule (.*)$ index.php?page=$1
Чтобы включить site.co.uk/index.php?page=page_name
в site.co.uk/page_name
Я также хочу использовать это для вспомогательных страниц. Я пробовал это:
RewriteEngine On RewriteRule (.*)/(.*)$ index.php?page=$1&subpage=$2
но он не работает, он запускает site.co.uk/page_name/sub_page
но когда вы переходите на site.co.uk/page_name
он возвращает 404 не найден.
Я хочу, чтобы он запустил site.co.uk/page_name
и он возвращает page_name
или
site.co.uk/page_name/sub_page
и вернуть sub_page
и так далее
site.co.uk/page_name/sub_page/sub_page2/...
Используя только:
RewriteEngine On Options -Indexes RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php?page=$1 [L,QSA]
это нормально, тогда вы можете перенаправить запрос в свой скрипт.
Вы разделяете переменную страницы с помощью разделителя explode () и затем устанавливаете переменные.
$route = explode('/',$_GET['page']); $page = isset($route[0]) ? $route[0] : null; $subpage = isset($route[1]) ? $route[1] : null; $yada = isset($route[2]) ? $route[2] : null;
Этот метод используется во многих средах MVC. Его называют маршрутизацией.