我从头开始构建一个小的mvc框架时遇到了问题。我正在使用PHP,我已经取消了PHRoute包。问题是它尝试将请求分派给文件,作为应用程序请求(而不是传递文件,它试图找到路由)。这导致500错误(css或js文件的路由不存在)。我试图绝对定义路径,例如
<link type="text/css" rel="stylesheet" href="/css/styles.css">
但是我仍然得到相同的结果。
我的.htaccess是以下(并且位于网络根目录中)
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>
我的文件夹结构是
--root
--public
--css
--js
--index.php (router)
--.htaccess
我错过了什么?
答案 0 :(得分:0)
我和你有同样的问题。我刚刚在CSS文件之前添加了“BASE_URL”。
<link type="text/css" rel="stylesheet" href="<?php echo base_url ?>css/styles.css">
答案 1 :(得分:0)
当.htaccess文件具有该指令时,如果结果绝对路径正确,则不应调用路由器。