如果您对 URI 的所有部分都感兴趣,那么使用 explode 并不是一个坏主意,您应该查看explode 的文档
它的用法是这样的:
$exploded = explode('/','/path/to/page.html');
echo $exploded[0]; // Will print out '' (empty string)
echo $exploded[1]; // Will print out 'path'
echo $exploded[2]; // Will print out 'to'
echo $exploded[3]; // Will print out 'page.html'
但是据我了解,您希望将链接替换为第一个字符(始终为“/”)之后的任何内容,您可以像这样使用 substr:
// Get whatever is after the first character and put it into $path
$path = substr($_SERVER['REQUEST_URI'], 1);
在您的情况下,不需要它,因为您能够预测字符串的开头有一个反斜杠。
我还建议使用关联数组来替换 URL。
我会像这样实现整个事情(根据需要删除第一个反斜杠):
// Define the URLs for replacement
$urls = array(
'subfolder0' => '/subfolder0/anotherfolder/page.html',
'subfolder1' => '/subfolder1/page.html'
);
// Get the request URI, trimming its first character (always '/')
$path = substr($_SERVER['REQUEST_URI'], 1);
// Set the link according to $urls associative array, or set
// the default URL if not found
$link = $urls[$path] or '/subfolder2/page.html';
或者使用explode,只取URI的第一部分:
// Get the parts of the request
$requestParts = explode('/', $_SERVER['REQUEST_URI']);
// Set the link according to $urls associative array, or set
// the default URL if not found
$link = $urls[$requestParts[1]] or '/subfolder2/page.html';