我在 URL 中遇到空格问题。如果地址包含空格,如何正确重定向请求。我正在使用 xampp,这是我目前所拥有的。
htaccess
RewriteEngine On
RewriteBase /test/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [L,QSA]
index.php
//sample pages
$pages = array('home','about','contact');
$parts = explode("/",$_SERVER['REQUEST_URI']);
if(!in_array(end($parts), $pages))
{
header("HTTP/1.0 404 Not Found");
echo "Page not found";
die();
}
else
{
echo "You are on the ".end($parts)." page";
}
error.php
echo "Error!";
当我输入地址http://localhost/test/contactk或http://localhost/test/contact
时,一切正常,但如果有人不小心输入了一个包含空格的地址,一切都崩溃了,页面被重定向到 localhost 之外,我可以看到类似这样的内容:
显示 localhost/test/contact 的结果
搜索而不是 localhost/test/cont act
如何将所有错误请求重定向到 error.php 文件
谢谢。