Я использовал эту же дружественную логику URL, и она отлично работала, у меня проблемы с проверкой каталога, вместо отображения сообщения он перенаправляется в каталог, введенный в URL.
URLDynamic.class.php
class URLDynamic
{
private $ArrayParam;
public $param;
public $sepURL;
public function ArrayParam()
{
if ( isset ( $_GET['url'] ) ) :
$this->param = addslashes ( rtrim ( $_GET['url'] ) );
$this->sepURL = array_filter ( explode ( "/", $this->param ) );
endif;
}
private function PushParam()
{
$this->ArrayParam = $this->ArrayParam();
if ( isset ( $_GET['s'] ) ) :
$Search = new Search;
$Search->GetSearch();
elseif ( isset ( $this->sepURL[0] ) ) :
if ( is_dir ( $this->sepURL[0] ) ) :
echo "Error 404";
else :
endif;
else :
$Home = new Home;
$Home->GetHome();
endif;
}
public function GetURL()
{
return $this->PushParam();
}
}
.htaccess
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*)$ index.php?url=$1