我正在使用 str_replace() 從 URL 中洗掉多余的斜杠并創建新的 url,但如果在 URL 中發現多個斜杠,我不知道如何將其重定向到新的 URL?
$url = 'http://www.example.com///about///';
$new_url = str_replace(':/','://', trim(preg_replace('/\/ /', '/', $url), '/'));
if($new_url)
{
echo 'Yes found multi slashes redirect it to new URL;
}
else
{
echo 'Not found multi slashes';
}
uj5u.com熱心網友回復:
這可能是一個小程式員的隧道視野,可能有更好的方法來做到這一點,但如果您希望基于不同的 URL 進行重定向:
$url = 'http://www.example.com///about///';
$new_url = str_replace(':/','://', trim(preg_replace('/\/ /', '/', $url), '/'));
if ($url !== $new_url) {
header(sprintf('Location: %s', $new_url));
}
標頭無法重新發送,因此如果您在此之前有其他列印,這將是一個錯誤。我會洗掉 $_SERVER 或包含 base_url 的 CONST。對于你的代碼意圖有很多問題,因為根據你想要做的事情,它更容易做。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/444749.html
上一篇:mod_rewrite-從特定HTTP主機的子檔案夾中獲取影像
下一篇:具有不同長度的多個值的PHP包
