我正在尝试在 PHP 中创建 URL 并在if 语句中使用路径 ( $path ) 。
在工作中,我们使用 ASP Classic 并有一些文件允许我们执行以下操作:
<%
if path = "checkout" then
<!--#include file="ViewCheckout.asp"-->
elseif path = "billing" then
<!--#include file="ViewBilling.asp"-->
end if
%>
我们几乎可以在我们网站的任何地方使用' if path = "checkout" '。奇怪的是,“ http://myworksite.com/checkout/ ”是结帐页面的 URL,但我们的服务器上没有名为“结帐”的目录……以上只是其中的几个列表' if path = "blah" ' 包括出现在我们的 'start.asp' (包含页面基本模板的文件)中的内容。
我见过像 ParseURL.asp 和其他文件(在工作中)以某种方式创建这些 URL 并允许我们在全球范围内使用它们。我正在尝试了解这是如何在 PHP 中完成的(在工作中,我们运行 Windows Server,我有一个 Linux 机器)。
我想要做的是为他们各自的页面创建以下 URL:
- http://mysite.com/browse/ -browse.php
- http://mysite.com/contact/ -contact.php
- http://mysite.com/top100/ - top100.php
再一次,我想创建这些 URL而不为路径创建目录。
我已经阅读了*http_build_url*和*parse_url*,但是我很难确定以上述方式创建 URL 的方式。
我发现的 http_build_url 教程显示了这一点:
<?php
echo http_build_url("http://user@www.example.com/pub/index.php?a=b#files",
array(
"scheme" => "ftp",
"host" => "ftp.example.com",
"path" => "files/current/",
"query" => "a=c"
),
HTTP_URL_STRIP_AUTH | HTTP_URL_JOIN_PATH | HTTP_URL_JOIN_QUERY | HTTP_URL_STRIP_FRAGMENT
);
?>
问题是,我不知道这是否只是将ftp://ftp.example.com/pub/files/current/?a=b&a=c输出为文本,或者它是否是一种创建有效 URL 的方法。 ..(这显然是一个 FTP 地址...) - PHP.net
注意: 在工作中,我们还可以使用if path = "contact"来包含某些片段,如下所示:
<%
if path = "contact" or path = "chat" or path = "checkout" then
<div id="communication-nav">
<ul>
<li>Some link 1</li>
<li>Some link 2</li>
<li>Some link 3</li>
</ul>
</div>
end if
%>
如果有人能给我一些关于如何使用 PHP 重新创建它的指示,我将非常感激!
我在研究正确的功能吗?我需要使用某种 URL 重写功能吗?