首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PHP:如何编写.htaccess代码,使其既可以在本地主机上运行,也可以在联机上运行,无需编辑

PHP:如何编写.htaccess代码,使其既可以在本地主机上运行,也可以在联机上运行,无需编辑
EN

Stack Overflow用户
提问于 2010-07-25 14:07:39
回答 2查看 974关注 0票数 3

我有一个.htaccess文件&我目前正在本地主机上工作。对于404页错误,.htaccess文件中有以下代码:

ErrorDocument 404 /my_local_domain/404.php

但是当我把这个文件上传到我的在线网站时,文件的功能就会中断。它不再显示404.php页面。如果我将我的在线网站的.htaccess文件中的代码修改为:

ErrorDocument 404 /404.php

现在,通过我在.htaccess文件中所做的更改,在将域名上传到网站之前,我必须记住删除它,否则我可能会破坏它的功能。因此,考虑到这一点,下面是我的问题:

1.如何解决上述问题,而无需每次编辑.htaccess文件(从my_local_domain上删除),然后进行更改并将其上传到网上?

2.如何为所有嵌套文件夹设置404页重定向?(我不想为每个文件夹设置一个.htaccess文件。一个驻留在网站根目录中的.htaccess文件&控制所有子文件夹的所有重定向都是很棒的)

所有的帮助都是感激的。

谢谢。

EN

回答 2

Stack Overflow用户

发布于 2010-07-25 17:40:59

我相信你有两个不同的问题。

首先,您不应该需要有不同的发展道路和现场。您似乎已经将本地Apache配置为只托管一个站点,并且每个实际站点都位于一个子目录中。这不是一个好主意:您很快就会在所有的开发站点之间混合cookie和会话。查看一下基于名称的虚拟主机特性:您可以根据需要配置任意数量的独立站点。您甚至不必在主机文件中购买真正的域名。

其次,在某些情况下,有不同的Apache指令是有用的。我一直在用下面的技巧。

  1. 为dev服务器选择一个关键字,例如DEV_BOX
  2. -D参数中将该关键字传递给Apache。如果将其作为服务运行,则可以运行regedit并找到HKLM\SYSTEM\CurrentControlSet\Services\Apache2.2\Parameters键。将-D DEV_BOX追加到ConfigArgs值。重启阿帕奇。
  3. 现在,您可以使用指令设置本地指令:

-

代码语言:javascript
复制
#
# Common stuff
#
AddDefaultCharset UTF-8


#
# Local-only stuff
#
<IfDefine DEV_BOX>
    Options +Indexes
</IfDefine>


#
# Live-only stuff
#
<IfDefine !DEV_BOX>
    Options -Indexes
</IfDefine>
票数 2
EN

Stack Overflow用户

发布于 2010-07-25 14:39:13

首先,我建议您为开发设置本地域。例如,如果您正在开发一个将在www.example.com下运行的网站,您可以在您的主机文件中设置一个local.example.com。您将在apache中进行VirtualHost设置,然后.htaccess将是相同的。

此外,您还可以设置一个构建过程(例如,通过蚂蚁),这将允许您准备并生成包含在活动服务器上的文件的zip文件。此构建将具有正确的配置文件(db信任、邮件服务器、htaccess等)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3329471

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档