.htaccess для дружественного URL с несколькими переменными

Я работаю над тем, чтобы сделать мой сайт более удобным для 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/...

Related of ".htaccess для дружественного URL с несколькими переменными"

Используя только:

 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. Его называют маршрутизацией.