我想将所有HTML文件放在一个名为views
的文件夹中。
partials
保存文件head.html
,footer.html
和header.html
。这是我的视图中包含的三个简短的HTML代码段;这样,当我更改标题中的内容时,不必在每个视图中都单独更改它。但是只在部分中一次。
media
保存了我的图像。 css
和js
分别是我的样式和Javascript。
这是我想要的结构,但是遇到以下问题:
我通过使用htaccess MOD_REWRITE进行了尝试;但这也弄乱了我的包含物。
所以,我的头部像这样:
<link rel="stylesheet" type="text/css" href="css/general.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="js/general.js" defer></script>
使用PHP的file_get_contents()
,可将其放入所有视图。但是,我需要以某种方式静态链接这两个文件。我该怎么办?
<?php
echo file_get_contents("partials/head.html");
?>
此外,我将如何静态地执行此操作?
我使用$_SERVER['DOCUMENT_ROOT']
进行了尝试,但这返回了/Users/myName/...
,导致我的收录失败。
理想的解决方案是,只要我可以从vereniging
href="/css/..."
之类的名为src="/media/...
的文件夹开始链接所有内容。
编辑: 这是我当前的htaccess内容:
RewriteEngine On
# browser requests PHP
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^\ ]+)\.php
RewriteRule ^/?(.*)\.php$ /$1 [L,R=301]
# check to see if the request is for a PHP file:
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^/?(.*)$ /$1.php
答案 0 :(得分:0)
第一个问题可通过以下.htaccess
解决:
RewriteCond %{REQUEST_URI} !^/(views|css|js|media|partials|php)
RewriteRule (.*) /views/$1
第二个和第三个问题是通过以下方式解决的:
<base href="http://example.com/" target="_self">
答案 1 :(得分:-1)
最好使用laravel或Codeigniter之类的框架来完成您的目标。
要从您的网址中删除视图,请按如下所示编辑.htaccess
RewriteEngine开启 RewriteRule ^ views(/.* |)$ $ 1 [L]
要添加css,您需要退出索引目录,然后访问如下所示的文件夹。
href =“ ../ css / general.css”