Настройка ЧПУ в .htaccess

185
02 декабря 2017, 10:15

Не получается правильно настроить ЧПУ. На сайте есть ссылки вида:

 <a href="?menu=portfolio-dizayn-studii" >
 <a href="?menu=portfolio-dizayn-studii/sand-and-sea" >

На основе того что приходит в переменной $_GET['menu'] в файле index.php в цикле через include_once подключаются необходимые страницы:

    switch($_GET['menu']) {
    case 'portfolio-dizayn-studii-interera-conception':
        include_once("portfolio.php");
    break;
    case 'portfolio-dizayn-studii/sand-and-sea':
        include_once("portfolio/sand-and-sea.php");
    break;
}

Попытка настроить ЧПУ выглядела следующим образом, из ссылок была убрана переменная ?menu:

<a href="/portfolio-dizayn-studii" >
<a href="/portfolio-dizayn-studii/sand-and-sea" >

И в файле .htaccess были прописаны следующие условия

AddDefaultCharset UTF-8
Options FollowSymLinks
Options -Indexes
RewriteEngine On
RewriteRule ^index.php$ / [QSA,R=301]
RewriteRule ^index.html$ / [QSA,R=301]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)$ /?menu=$1 [QSA,L]

При переходе по первой ссылке, попадаем на страницу

http://site.ru/portfolio-dizayn-studii

далее из этой страницы пытаюсь перейти по второй ссылке:

<a href="/portfolio-dizayn-studii/sand-and-sea" >

то в в адресной строке происходит суммирование адресов и получается вот что:

http://site.ru//portfolio-dizayn-studii/portfolio-dizayn-studii

и при последующих переходах ссылки прибавляются в адресной строке

READ ALSO
Проблема с запросами SQL

Проблема с запросами SQL

Имею такой php код, его главная цель - создать таблицу при её отсутствии, при наличии - вывести сообщение "таблица найдена"

292
Подключение к базе данных Bitrix24

Подключение к базе данных Bitrix24

Здравствуйте уважаемые, подскажите пожалуйста как бы мне подключиться к БД bitrix24 и вытянуть к себе на сайт список моих контактов?

250
Идеология Qt относительно проверки значений

Идеология Qt относительно проверки значений

Начну с примераЕсть такая функция mid() для контейнерных классов, в частности для QVector

317
QTcpServer::write() - не отправляются пакеты

QTcpServer::write() - не отправляются пакеты

Есть следующий код маленького сервачка:

340