Есть файл htaccess Код PHP Код (Text): RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /index.php?page=$1 [L] Прекрасно все работает, примеры страниц Код PHP Код (Text): site.ru/ssilka1 site.ru/ssilka2 site.ru/ssilka3 site.ru/ssilka4 site.ru/ssilka5 Это категории. Создал папку - single в ней индекс с шаблоном детального описания новости. Если зайти на сайт site.ru/ssilka1 - отобразится блог новостей, если кликнуть на новость то должна отобразиться детальная новость и переход на site.ru/ssilka1/novost1 , где сама новость формируется в index.php в каталоге single. Помогите разобраться, как сформировать ссылки и отобразить детальную новость при помощи single/index.php
есть индексный файл index.php в корне site.ru Есть база данных с таблицей и столбцом URL Если зайти на site.ru/category то отработает RewriteRule ^(.*)$ /index.php?page=$1 [L] В базе будет произведена выборка из столбца по значению "URL" = category и на экране отобразится содержимое строки, URL в которой равен CATEGORY. Этот этап выполнен. Второй этап - на странице site.ru/category отображается список материалов категории CATEGORY. При клике на одну из них открывается ссылка site.ru/category/statiya При клике на другую - site.ru/category/statiya2 и т.д. Шаблон для отображение детальной записи находится в site.ru/single/index.php То есть открывая site.ru/category/statiya или site.ru/category/statiya2 используется файл site.ru/single/index.php как сделать чтобы при прохождении в детальную новость, отображался шаблон site.ru/single/index.php ?
Дополнительное правило добавить в htaccess или использовать php router например https://github.com/auraphp/Aura.Router
Ну иди читай про htaccess и регулярные выражения или жди подсказок/ готовый код, а еще можешь прямо сейчас воспользоваться роутером.
Просто htaccess это 1-2 строчки, а роутер это целое хранилище строк будет. Про htaccess читаю, но тему создал на случай если решение не найду. Как найду отпишу, вдруг кому понадобится.
Ставил и так и так. Код (Text): RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)/(.*)$ /single/index.php?page=$1 [L] RewriteRule ^(.*)$ /index.php?page=$1 [L] В таком случае ошибку сервера выдает Добавлено спустя 41 минуту 30 секунд: Код (Text): RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)/(.*)$ /index1.php?page=$2 [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /index.php?page=$1 [L] Сделал так. Из single вытащил файл index.php, переместил его в корень и сменил название на index1.php Перейдя на страницу site.ru/category SERVER["SCRIPT_NAME"] = index.php если перейти на site.ru/category/statiya то SERVER["SCRIPT_NAME"] = index1.php То есть как раз то что и нужно было, НО не отображается содержимое файла index1.php Добавлено спустя 3 минуты 52 секунды: Все работает, всем спасибо. Верхний пример и есть решение.