Как решить проблемы с именем файлов в 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>
Author: RodrigoBorth, 2014-04-25

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 в этом вопросе.

 2
Author: Bacco, 2017-04-13 12:59:36

Решил эту проблему, создав переменную, которая хранит в Каталог проекта, я делаю это, сравнивая путь к серверу с 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);
}
 1
Author: RodrigoBorth, 2014-06-18 13:01:35