有没有办法为没有实际支持页面的URL提供网页?

时间:2012-10-02 17:22:46

标签: php html url webserver

我很想知道是否有办法让网页被PHP页面或其他服务器端逻辑拦截,以便查询URL“www.mysite.com/about/mission_statement”但我不知道在“about / mission_statement”上有一个页面,我可以提供“some / other / folder / with / pages”中的内容。

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

2 个答案:

答案 0 :(得分:6)

您不能直接在PHP中执行此操作,因为调用PHP页面以处理给定的URL,但您可以在Web服务器中执行此操作。

假设Apache看看URL重写

http://httpd.apache.org/docs/2.2/rewrite/

特别是对于你的情况,副主题

http://httpd.apache.org/docs/2.2/rewrite/remapping.html

是相关的。

IIS具有类似的功能。

答案 1 :(得分:2)

再次假设你使用Apache,那么你有很多选择:

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

这通常使用docroot目录或其他目录中的.htaccess文件中的以下代码进行调用:

ErrorDocument 404 /whatever/path/to/file.php

如果您使用PHP键入的动态页面,例如ID或其他动态值,则EG:

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

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