首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >重写以不加载js / css告终。

重写以不加载js / css告终。
EN

Stack Overflow用户
提问于 2015-08-18 18:36:22
回答 3查看 467关注 0票数 1

使用下面的.htaccess文件,很明显,我在加载脚本和css时得到了很多404,因为浏览器总是在错误的目录中查找。

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

代码语言:javascript
运行
复制
<IfModule mod_rewrite.c>
    Options +FollowSymLinks
    RewriteEngine on

    RewriteRule ^$ client/app/index\.html [L]
</IfModule>

Dir结构如下:

项目/client / app / index.html

.htaccess位于项目目录下。

EN

回答 3

Stack Overflow用户

发布于 2015-08-18 18:47:50

我建议您使用301将用户重定向到正确的路径。这将以你的问题结束。

代码语言:javascript
运行
复制
RewriteRule ^$ client/app/index\.html [L, 301]

如果你担心seo,可以看看https://support.google.com/webmasters/answer/93633?hl=en

票数 1
EN

Stack Overflow用户

发布于 2015-08-18 19:36:17

您服务器上的所有呼叫都将被重定向至您的RewriteRule。添加RewriteCond (RewriteCondition)以忽略CSS和JS文件(如果存在):

代码语言:javascript
运行
复制
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !\.(?:css|js|jpe?g|gif|png)$ [NC]
RewriteRule ^$ client/app/index\.html [L]

解释:

RewriteCond %{REQUEST_FILENAME} !-f

如果请求的文件名存在(css/main.css),请不要使用RewriteRules。

RewriteCond %{REQUEST_URI} !\.(?:css|js|jpe?g|gif|png)$ [NC]

如果文件不存在,但与其中一个扩展名匹配,则不执行任何操作。这很有帮助,因为如果css/main-2.css不存在,您会得到404,而不是将您重定向到index.php

最后是您自己的规则,它重定向所有非条件规则。

票数 1
EN

Stack Overflow用户

发布于 2015-11-02 12:07:27

在您的.htaccess文件中,这就是对我有效的方法。

代码语言:javascript
运行
复制
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]

谢谢!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32070031

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档