如何在 Views 文件夹中构建我的项目

我想按以下方式构建我的项目:

http://img.mukewang.com/6496c2ed0001a58d04950600.jpg

我想将所有 HTML 文件放在名为 的文件夹中views。 partials保存文件head.htmlfooter.html并且header.html。这些是包含在我的视图中的三个简短的 HTML 片段;这样,当我更改标题中的某些内容时,我不必在每个视图中单独更改它。但只有一次在部分。

media保存着我的图像。css分别js是我的样式和 Javascript。

这是我想要的结构,但我遇到了以下问题:

  1. 如何避免出现http://example.com/views/index.php?我只想要http://example.com/index.php

我通过使用 htaccess MOD_REWRITE 尝试了这一点;但这也搞乱了我的包含。

  1. 如何从 head 部分包含 CSS 和 Javascript?

所以,我有一个看起来像这样的头部部分:

<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/...,导致我的包含失败。


理想的解决方案是,如果我可以从名为vereniginglike的文件夹开始链接所有内容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


一只萌萌小番薯
浏览 116回答 2
2回答

侃侃无极

第一个问题通过以下方式解决.htaccess:RewriteCond %{REQUEST_URI} !^/(views|css|js|media|partials|php)RewriteRule (.*) /views/$1第二个问题和第三个问题的解决方法如下:<base href="http://example.com/" target="_self">

FFIVE

最好使用一些框架,例如 laravel 或 Codeigniter 来完成您的目标。要从您的网址中删除视图,请按如下方式编辑您的 .htaccessRewriteRule 上的 RewriteEngine ^views(/.*|)$ $1 [L]要添加 css,您需要退出索引目录,然后访问这些文件夹,如下所示。href="../css/general.css"
打开App,查看更多内容
随时随地看视频慕课网APP