Apache 重写的结果是不加载js/css
通过下面的.htaccess文件,我显然在加载脚本和css时得到了很多404,因为浏览器一直在错误的目录中查找 我是htaccess的新手,不知道如何修复它Apache 重写的结果是不加载js/css,apache,.htaccess,Apache,.htaccess,通过下面的.htaccess文件,我显然在加载脚本和css时得到了很多404,因为浏览器一直在错误的目录中查找 我是htaccess的新手,不知道如何修复它 <IfModule mod_rewrite.c> Options +FollowSymLinks RewriteEngine on RewriteRule ^$ client/app/index\.html [L] </IfModule> 选项+FollowSymLinks 重新启动发动
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^$ client/app/index\.html [L]
</IfModule>
选项+FollowSymLinks
重新启动发动机
重写规则^$client/app/index\.html[L]
目录结构如下:
project/client/app/index.html
.htaccess位于项目目录中。我建议您使用301将用户重定向到正确的路径。这将以你的问题结束
RewriteRule ^$ client/app/index\.html [L, 301]
如果您担心seo,请查看服务器上的所有调用都被重定向到您的
重写规则
。添加RewriteCond
(RewriteCondition)以忽略CSS和JS文件(如果存在):
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !\.(?:css|js|jpe?g|gif|png)$ [NC]
RewriteRule ^$ client/app/index\.html [L]
说明:
RewriteCond%{REQUEST\u FILENAME}-f
如果请求的文件名存在(css/main.css
),请不要执行重写规则
RewriteCond%{REQUEST\u URI}!\。(?:css | js | jpe?g | gif | png)$[NC]
如果文件不存在,但与其中一个扩展名匹配,则不执行任何操作。这很有帮助,因为如果css/main-2.css
不存在,您将获得404,而不是重定向到index.php
最后是您自己的规则,它重定向所有非条件规则。在您的
.htaccess
文件中,这是对我有效的
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !=/index.html
RewriteCond %{REQUEST_URI} !\.(?:css|js|jpe?g|gif|png)$ [NC]
RewriteRule ^ /index.html [R=301]
谢谢大家! js和css文件存储在哪里?或者如何在index.html中调用css和js文件?这可以通过在网页的头部添加一个来解决。