【问题标题】:htaccess codes behaves differently when written in single line and when written in two different lineshtaccess 代码在单行编写和两行不同行编写时的行为不同
【发布时间】:2012-09-25 04:19:57
【问题描述】:

我试图学习 htaccess 基础知识,但最初的步骤让我发疯并失去了一些宝贵的时间..

htaccess 代码在写成单行和写成两行时表现不同

下面的代码

RewriteEngine on 
RewriteRule .* good.html   

以及下面的代码

RewriteEngine on RewriteRule .* good.html   

表现不同..

请解释它是怎么回事.. 我猜,这是因为 htaccess 先检查所有条件然后才能工作.. 但这也不应该让它像那样工作..

【问题讨论】:

    标签: .htaccess url-rewriting url-routing


    【解决方案1】:

    Apache 指令希望自己排成一行。所以当你有:

    RewriteEngine on RewriteRule .* good.html   
    

    第一个“单词”是指令,例如RewriteEngine。它寻找是否应该打开或关闭,下一个“单词”是on。到目前为止一切顺利,重写引擎已打开。但是之后还有一堆其他的废话,将被忽略。

    但是当你有:

    RewriteEngine on 
    RewriteRule .* good.html   
    

    重写引擎正常开启。然后处理RewriteRule 指令。行中的第一个“单词”是RewriteRule,所以参数是RewriteRule regex target [flags]

    因此,当它们位于不同的行时,所有内容都会在内部重写为 good.html。同时,on 之后的所有内容都会被忽略。

    【讨论】:

    • 哇.. 这真是一个洞察力.. 可能这也是用一些 htaccess 行话写的,我错过了.. 你能不能也试着回答这个问题.. stackoverflow.com/questions/12711371,提前谢谢..
    猜你喜欢
    • 2021-10-05
    • 1970-01-01
    • 2020-07-12
    • 2022-11-01
    • 2013-10-22
    • 2014-07-21
    • 1970-01-01
    • 2020-01-15
    • 2020-03-15
    相关资源
    最近更新 更多