Htaccess 分别用于 Localhost 和 Production
Htaccess separate for Localhost and Production
如何创建一个 Htaccess,它将具有用于 Localhost 和 Production 的特定且单独的代码。我的意思是当我们在本地主机上工作时,它应该是工作本地主机代码,而在生产环境中它应该只加载生产代码。这样我就可以将一个 Htaccess 用于本地和生产,这将节省大量时间。以下是我想要实现的模型。任何人都可以为此提供帮助,我们将不胜感激。因为我花了很多时间在这上面并没有找到任何好的方法。提前致谢!
<Localhost>
---localhost code goes here
---it should be only work in localhost and not at all in Production
</localhost>
<Production>
---production code goes here
---it should be only work in Production and not at all in Localhost
</Producton>
.htaccess
中的大部分代码在本地和生产环境中应该是相同的。 (不然怎么测试?)
但是,在服务器之间分隔指令的最干净的方法之一是 Define
(需要 Apache 2.4)其中一台服务器(例如开发机器)的服务器配置中的变量:
Define DEVELOPMENT
这可以在服务器配置中的任何地方定义(不是 .htaccess
),但对于服务器来说总是被视为 global,无论它是否在内部定义一个 <VirtualHost>
个容器。您不需要指定 value(第二个)参数,因为 <IfDefine>
指令(见下文)不会检查这一点。与往常一样,无论何时更改服务器配置,您都需要重新启动 Apache 以使更改生效。
并在 .htaccess
中引用:
<IfDefine DEVELOPMENT>
# Local / development directives only
</IfDefine>
<IfDefine !DEVELOPMENT>
# Live / production directives only
</IfDefine>
!
前缀测试变量 未 定义。
根据您需要包含的指令类型,您可以使用 <If>
容器并检查请求的主机名之类的内容(例如,staging.example.com
与 www.example.com
用于实时站点).但是,<If>
容器与 mod_rewrite 的工作方式不同。
参考:
如何创建一个 Htaccess,它将具有用于 Localhost 和 Production 的特定且单独的代码。我的意思是当我们在本地主机上工作时,它应该是工作本地主机代码,而在生产环境中它应该只加载生产代码。这样我就可以将一个 Htaccess 用于本地和生产,这将节省大量时间。以下是我想要实现的模型。任何人都可以为此提供帮助,我们将不胜感激。因为我花了很多时间在这上面并没有找到任何好的方法。提前致谢!
<Localhost>
---localhost code goes here
---it should be only work in localhost and not at all in Production
</localhost>
<Production>
---production code goes here
---it should be only work in Production and not at all in Localhost
</Producton>
.htaccess
中的大部分代码在本地和生产环境中应该是相同的。 (不然怎么测试?)
但是,在服务器之间分隔指令的最干净的方法之一是 Define
(需要 Apache 2.4)其中一台服务器(例如开发机器)的服务器配置中的变量:
Define DEVELOPMENT
这可以在服务器配置中的任何地方定义(不是 .htaccess
),但对于服务器来说总是被视为 global,无论它是否在内部定义一个 <VirtualHost>
个容器。您不需要指定 value(第二个)参数,因为 <IfDefine>
指令(见下文)不会检查这一点。与往常一样,无论何时更改服务器配置,您都需要重新启动 Apache 以使更改生效。
并在 .htaccess
中引用:
<IfDefine DEVELOPMENT>
# Local / development directives only
</IfDefine>
<IfDefine !DEVELOPMENT>
# Live / production directives only
</IfDefine>
!
前缀测试变量 未 定义。
根据您需要包含的指令类型,您可以使用 <If>
容器并检查请求的主机名之类的内容(例如,staging.example.com
与 www.example.com
用于实时站点).但是,<If>
容器与 mod_rewrite 的工作方式不同。
参考: