我有一个.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文件&控制所有子文件夹的所有重定向都是很棒的)
所有的帮助都是感激的。
谢谢。
发布于 2010-07-25 17:40:59
我相信你有两个不同的问题。
首先,您不应该需要有不同的发展道路和现场。您似乎已经将本地Apache配置为只托管一个站点,并且每个实际站点都位于一个子目录中。这不是一个好主意:您很快就会在所有的开发站点之间混合cookie和会话。查看一下基于名称的虚拟主机特性:您可以根据需要配置任意数量的独立站点。您甚至不必在主机文件中购买真正的域名。
其次,在某些情况下,有不同的Apache指令是有用的。我一直在用下面的技巧。
DEV_BOX。-D参数中将该关键字传递给Apache。如果将其作为服务运行,则可以运行regedit并找到HKLM\SYSTEM\CurrentControlSet\Services\Apache2.2\Parameters键。将-D DEV_BOX追加到ConfigArgs值。重启阿帕奇。-
#
# Common stuff
#
AddDefaultCharset UTF-8
#
# Local-only stuff
#
<IfDefine DEV_BOX>
Options +Indexes
</IfDefine>
#
# Live-only stuff
#
<IfDefine !DEV_BOX>
Options -Indexes
</IfDefine>发布于 2010-07-25 14:39:13
首先,我建议您为开发设置本地域。例如,如果您正在开发一个将在www.example.com下运行的网站,您可以在您的主机文件中设置一个local.example.com。您将在apache中进行VirtualHost设置,然后.htaccess将是相同的。
此外,您还可以设置一个构建过程(例如,通过蚂蚁),这将允许您准备并生成包含在活动服务器上的文件的zip文件。此构建将具有正确的配置文件(db信任、邮件服务器、htaccess等)。
https://stackoverflow.com/questions/3329471
复制相似问题