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 ファイルにリダイレクトする方法
ありがとうございます。