Я создаю локальную CMS. Любая ссылка на сайт перенаправляется на index.php через .htaccess
:
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase /cms/ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 </IfModule>
В файле index.php
URL-адрес контролируется. Если путь начинается с admin, тогда admin.main.php
.
if (isset($_SERVER['PATH_INFO'])) { $request_url = $_SERVER['PATH_INFO']; while (substr($request_url, -1) == '/') { $request_url = rtrim($request_url, '/'); } $explode_url = explode('/', $request_url); if (isset($explode_url[1]) && $explode_url[1] == 'admin') { require('includes/admin/admin.main.php'); } }
Администратор admin.main.php
если запрос – /admin/pages
, и если это так, admin.main.php
другой файл.
global $request_url; if ($request_url == '/admin/pages') { require('includes/admin/panel/panel.pages.php'); }
В главе panel.pages.php
ссылка на CSS-файл включается в путь includes/admin/CSS/panel.pages.css
. Проблема в том, что если вы перейдете на http://localhost/cms/admin/pages
запускается код HTML и PHP, но не CSS или JS (который включен в нижнюю часть). В средстве разработчика Chrome ссылка href на CSS: http://localhost/cms/admin/pages/includes/admin/CSS/panel.pages.css
.
Следует также отметить, что ../
можно сделать несколько раз до href, но с тем же результатом и ссылкой. В CMS-каталоге (базе) нет директории с именем admin , в каталог admin-folder includes/admin
.