我希望我可以解释这种显然不够,但如果不让我知道,我会尽力澄清。

我目前正在开发一个网站使用ColdFusion和有mod_rewrite规则的地方,以使它看起来像该网站使用PHP.任何要求index.php 得到处理的索引。cfm(规则的地图*.php*。cfm)。

这一工作的很好-到目前为止,一切都很好.问题是我想要返回404地位代码,如果指数。cfm(或任何ColdFusion页)被请求。

如果我试图阻止访问*.cfm文件使用mod_rewrite它也返回404请求*.php.

我想我可能需要改变我的Apache配置,而不是使用。要

有帮助吗?

解决方案

你可以使用 S 标志跳过 404 规则是这样的:

RewriteEngine on

# Do not separate these two rules so long as the first has S=1
RewriteRule (.*)\.php$ $1.cfm [S=1]
RewriteRule \.cfm$ - [R=404]

如果你也是的使用 Alias 选项,然后你也应该加入 PT 标志。看看 mod_rewrite文件 对于细节。

其他提示

员额的规则已经作为一个起点,以便人们不必重建它,以帮助你。

我建议测试[L]的规则的地图。php。cfm文件作为第一件事要尝试。

你必须使用两个不同的群体的重写规则之一。php,另。信息交换所机制,并使它们相互独家与重写过%{REQUEST_FILENAME}.和使用的标志[L]的建议jj33.

你可以保持你的规则。不喜欢这里.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top