Php 有没有一种方法可以为不使用';你没有真正的背景页吗?

Php 有没有一种方法可以为不使用';你没有真正的背景页吗?,php,html,url,webserver,Php,Html,Url,Webserver,我很想知道是否有一种方法可以让URL被PHP页面或其他服务器端逻辑截取,例如如果URL“www.mysite.com/about/mission_statement”被查询,但我在“about/mission_statement”没有页面,我可以提供来自“some/other/folder/with/pages”的内容 有人知道这是否可行,或者我必须确保我有一个页面可用于我希望处理的每个url地址吗?您不能直接在PHP中这样做,因为PHP页面被调用以处理给定的url,但您可以在web服务器中这样

我很想知道是否有一种方法可以让URL被PHP页面或其他服务器端逻辑截取,例如如果URL“www.mysite.com/about/mission_statement”被查询,但我在“about/mission_statement”没有页面,我可以提供来自“some/other/folder/with/pages”的内容


有人知道这是否可行,或者我必须确保我有一个页面可用于我希望处理的每个url地址吗?

您不能直接在PHP中这样做,因为PHP页面被调用以处理给定的url,但您可以在web服务器中这样做

假设Apache可以看看URL重写

特别是对于您的案例,该子主题

这是相关的


IIS具有类似的功能。

再次假定您使用Apache,那么您有许多选择:

对特定页面/内容使用重写规则(如另一个答案中所指定),或在.htaccess文件中包含一行,将不存在的任何请求(404)重定向到您选择的特定位置/文件

这通常是在docroot目录或其他选择目录中的文件中使用以下代码实现的:

ErrorDocument 404 /whatever/path/to/file.php
如果您在PHP中使用的动态页面键入ID或其他动态值,例如:

http://www.somedomain.com/page.php?id=4

然后,如果内容不匹配或不存在,您需要创建一个重定向到所选页面的函数。

我们在系统上使用了404处理程序,这是一个黑客行为,有时会让我们感到困惑!事实上,有一段时间我们从来没有任何404的!所以我真的鼓励Eric J的解决方案,因为它允许您控制要重定向为有效的url模式,并且仍然可能使用404处理程序来处理404。是的,它并不完美。这是解决这个问题的简单方法。理想情况下,添加一个可以单独处理404的404脚本:)谢谢!这正是我想要的。谢谢你让我使用ErrorDocument处理程序,这应该也很有用。