Apache 重写的结果是不加载js/css

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 重新启动发动

通过下面的.htaccess文件,我显然在加载脚本和css时得到了很多404,因为浏览器一直在错误的目录中查找

我是htaccess的新手,不知道如何修复它

<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文件?这可以通过在网页的头部添加一个来解决。