Я использую меню PHP для своего веб-сайта. Есть только макс. одна подстраница на каждый пункт меню, например mypage.com/services и никогда больше подстраниц, например mypage.com/services/blub.
index.php:
<?php require_once("navigation.php"); ?>
...
<?php include('sites/'.$_GET['p'] . '.php'); ?>
navigation.php
<ul class = "nav navbar-nav">
<li>
<a href = "?p=home">Home</a>
</li>
<li>
<a href = "?p=services">Services</a>
</li>
...
</ul>
Теперь я хочу реализовать красивые / чистые URL-адреса. В настоящее время мои URL-адреса выглядят так:
и я хочу это:
Я написал следующее в своем htaccess, но моя страница выглядела пустой:
RewriteEngine On
RewriteCond %{QUERY_STRING} (.*)
RewriteRule ^(.*) index.php?url=$1&query=%1 [B,L]






Поместите это ваш файл .htaccess
#turn on url rewriting
RewriteEngine on
#remove the need for .php extention
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
Это позволяет вам получать доступ к файлам .php без расширения, поэтому ваши ссылки должны читать
href = "/somepage"
и это направит на
href = "/somepage.php"
Лучший способ добиться этого, создав папки и поместив код на страницы index.php и поместив файл .htacces в каталог по умолчанию index.php ИЛИ еще один способ, который я опубликовал в ответах.