Как решить проблемы с именем файлов в HTML?
Я структура папок, где у меня есть следующая архитектура
page
php
arquivos.php
tpl
arquivos.tpl(html)
style
arquivos.css
Но у меня есть проблема, чтобы назвать файлы в tpl'. с... при использовании пути
<link type="text/css" rel="stylesheet" href="../style/style.css" />
Ему назад из корня проекта
я пытаюсь использовать URL amigaveis .htaccess выглядит так
<IfModule mod_rewrite.c>
RewriteEngine On
Options -Indexes
ErrorDocument 404 /Errors/404.html
ErrorDocument 403 /Errors/403.html
RewriteRule ^/?$ page/php/Home.php [NC,L]
RewriteRule ^contato/?$ page/php/Contato.php [NC,L]
</IfModule>
2 answers
Один из шагов-это добавить эти RewriteCond
сделать rewrite, только если не существует файл или папка с именем предложено:
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^/?$ page/php/Home.php [NC,L]
RewriteRule ^contato/?$ page/php/contato.php [NC,L]
Кроме того, в тех случаях, CSS for целом, использовать пути относительно корня:
<link type="text/css" rel="stylesheet" href="/style/style.css" />
CSS относительно документа ток, только глядя в конкретном случае. Помните, что то, что стоит это путь в конце, где подают страницы, а не там, где сценарий/template находится на самом деле. Кто будет решать этот путь-это браузер, а не apache, то примите во внимание путь, который отображается при просмотре страниц.
Узнайте немного больше о том, rewrite в этом вопросе.
Решил эту проблему, создав переменную, которая хранит в Каталог проекта, я делаю это, сравнивая путь к серверу с url-адреса и тиснение папки, похожие, после этого только я помещаю переменную в качестве префикса для всех URL-ы сайта.
$UrlSite = explode(DIRECTORY_SEPARATOR,trim(parse_url($_SERVER['REQUEST_URI'],PHP_URL_PATH), '/\\'));
$DirSite = explode(DIRECTORY_SEPARATOR,__DIR__);
if(in_array($UrlSite[0], $DirSite) AND $UrlSite[0] != ''){
$Directory = "/$UrlSite[0]/";
$smarty->assign('Directory',$Directory);
}else{
$Directory = "/";
$smarty->assign('Directory',$Directory);
}