现在,我已经把我的html文件放在public/views
文件夹下,public/libs
下的库和 public/src
中的自定义文件
我正在使用DictoryIndex
来设置默认主页。喜欢DirectoryIndex public/views/index.html
但是在index.html
文件里面,我必须用<a href="public/views/product.html"></a>
打开与index.html
相同的目录下的文件,否则找不到该文件。然后 URL 看起来会很丑,就像site.com/public/views/product.html
我可以问一下,如何设置.htaccess
文件以摆脱URL地址中的public/views
?
还有一个问题,当我编写代码以在 index.html
中导入库时,它似乎会从基本文件夹中读取(例如我放置.htaccess
文件的位置(。但是在其他 html 文件中,它们将从自己的目录中读取,就像 public/view
中的 html 文件将开始从文件夹读取 views
.有没有办法解决这个问题?
谢谢
您是否也需要通过HTTP访问库和自定义文件?如果没有,只需将文档根目录设置为 public/views
否则,public/views
*.html
您可以使用类似
Options +FollowSymLinks -Multiviews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-s
RewriteRule (.+.html)$ /public/views/$1 [L]
无论如何,出于显而易见的原因,在 DirectoryIndex
指令中使用完整路径而不仅仅是文件名不是一个好主意。
它还解决了您的第二个问题。目前,public/views/index.html
被认为是/
因此与此文件相关的任何内容都相对于/
,而不是views
文件夹。另一方面,任何其他文件仍被视为"自身",因此包含是相对于views
文件夹的