【发布时间】:2019-07-11 05:25:20
【问题描述】:
背景:我曾经使用环境变量来区分我的开发服务器和生产服务器,在 .htaccess 中使用它:-
<IfDefine DEV_SERVER>
# dev server specific stuff here
</IfDefine>
<IfDefine !DEV_SERVER>
# production server specific stuff here
</IfDefine>
环境变量“DEV_SERVER”只在我的开发服务器上设置过,显然从来没有在生产上设置过。
在我的生产服务器主机安装 Litespeed 作为 Apache 的替代品之前,这种方法很有效。 Litespeed 不喜欢上述内容,并且忽略了所有内容。
我尝试为开发和生产使用不同版本的 .htaccess 文件,但这既麻烦又危险,我希望能够随时在两者之间交换所有文件。
我的开发服务器运行 Apache 2.4,我没有计划更改它。我读到您可以通过将其放在 httpd.conf 中为 .htaccess 指定不同的文件名:-
AccessFileName .htaccess.dev
这已经完成了一半——现在我可以拥有一个 .htaccess.dev 文件,只有我的开发服务器会使用它来代替 .htaccess。但理想情况下,我希望开发服务器:-
- 如果仅此而已,请使用 .htaccess
- 如果仅此而已,请使用 .htaccess.dev
- 如果 .htaccess 和 .htaccess.dev 都存在,则使用 .htaccess.dev
它有(2)和(3),但不幸的是没有(1)。
有什么解决办法吗?任何帮助都非常感谢,一如既往!
【问题讨论】:
标签: apache .htaccess filenames httpd.conf