新的C9版本后打破了简单的mod_rewrite规则

采取

我正在研究Cloud9 IDE上托管的项目我设置了一组简单的mod_rewrite规则,但是在c9的新版本发布后它们不再起作用。我花了很长时间才弄清楚这些规则(我只是个新手)对这些规则为什么不再起作用感到困惑(AFAIK,新的c9版本应该不会影响mod_rewrite规则)。

这是规则(位于根目录中.htaccess

RewriteEngine on
Options FollowSymLinks

RewriteBase /

RewriteCond %{REQUEST_URI} ^/css/.*$ [OR]
RewriteCond %{REQUEST_URI} ^/img/.*$ [OR]
RewriteCond %{REQUEST_URI} ^/js/.*$
RewriteCond Astralis/resources%{REQUEST_URI} -f
RewriteRule ^(.+)$ Astralis/resources/$1 [L,QSA]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

目标非常简单...所有去往/css/... /img/.../js/...应在其中的关联文件提供服务的所有请求Astralis/resources(在检查文件是否存在之后)。否则,将其余流量重定向到index.php。

我遇到的问题是,所有对资源(css,img,js)的请求都返回404。如果我将/ css,/ img和/ js文件夹从Astralis / resources内移回根目录,则所有资源都会正确加载。在c9的新版本之后,开始出现此问题,而对.htaccess文件,代码库或目录结构没有任何更改。

有什么线索吗?我该如何调试此类内容?编写mod_rewrite规则的任何一般性提示/技巧也将不胜感激。谢谢。

阿努巴瓦

由于Apache需要使用文件的完整路径才能返回true,因此-f您需要%{DOCUMENT_ROOT}/在文件路径之前使用

有这种方式:

RewriteEngine on
Options FollowSymLinks

RewriteBase /

RewriteCond %{REQUEST_URI} ^/(css|img|js)/ [NC]
RewriteCond %{DOCUMENT_ROOT}/Astralis/resources%{REQUEST_URI} -f
RewriteRule ^(.+)$ Astralis/resources/$1 [L,QSA]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

新的starcluster版本打破了nfs的设置

来自分类Dev

mod_rewrite规则冲突

来自分类Dev

mod_rewrite规则冲突

来自分类Dev

规则的mod_rewrite和.htaccess异常

来自分类Dev

无操作Apache mod_rewrite规则

来自分类Dev

Mod_Rewrite:相互冲突的重写规则

来自分类Dev

CodeIgniter REST Server的mod_rewrite规则

来自分类Dev

Apache到Nginx mod_rewrite规则

来自分类Dev

.htaccess 中的 mod_rewrite 规则

来自分类Dev

简单的mod_rewrite不断导致404

来自分类Dev

简单的mod_rewrite重定向

来自分类Dev

简单的mod_rewrite不断导致404

来自分类Dev

使用mod_rewrite的简单方法

来自分类Dev

Mod_rewrite简单重定向

来自分类Dev

简单的mod_rewrite重定向

来自分类Dev

[L]匹配后,mod_rewrite是否不停止处理规则?

来自分类Dev

合并新的mod_rewrite规则并保留旧的行为,这是怎么回事?

来自分类Dev

将mod_rewrite规则转换为Nginx规则

来自分类Dev

SonarQube规则似乎打破了分析

来自分类Dev

文件夹存在时,mod_rewrite忽略规则

来自分类Dev

将特定的GET参数移至url的mod_rewrite规则

来自分类Dev

.htaccess中项目的Mod_rewrite规则

来自分类Dev

.htaccess mod_rewrite规则不起作用

来自分类Dev

重写mod_rewrite的规则以模仿虚拟目录

来自分类Dev

停止影响重定向规则的Apache mod_rewrite

来自分类Dev

.htaccess复杂的mod_rewrite规则,URL中的语言

来自分类Dev

.htaccess中有多个mod_rewrite规则?

来自分类Dev

如何只为PHP文件编写mod_rewrite规则

来自分类Dev

两个mod_rewrite规则的组合