Добавление косой черты с использованием ресурсов cleanURL перестает работать

Я делаю веб-сайт для школьного проекта, и я изучал использование cleanURL, поэтому я следовал этому руководству www. you tube.com/watch?v=ZgCW2x5QCXo, когда я помещаю / studytips / home, он работает отлично, но если я добавляю / или что-то, он перестает работать.
Изображения того, что происходитБез / фу
С / foo
Я включу его класс, чтобы использовать его, я делаю следующее:

if($url->segment(1)){
$s1=($url->segment(1));
if((file_exists("includes/$s1.php"))){
include("includes/$s1.php");
} else {
include("includes/404.php");
}
}else include("includes/home.php");

я пришел к выводу, что это лучший подход.

class simpleUrl{

var $site_path;

function __construct($site_path){
$this->site_path= $this->removeSlash($site_path);

}

function __toString(){
return $this->site_path;
}
private function removeSlash($string){
if( $string[strlen($string)-1] == '/')
$string =rtrim($string,'/');


return $string;
}

function segment($segment){

$url = str_replace($this->site_path,'' , $_SERVER['REQUEST_URI']);
$url = explode('/',$url);

if(isset($url[$segment]) )

return $url[$segment];
return $url;
}

}

htaccess файл:

 <IfModule mod_rewrite.c>   RewriteEngine On
RewriteBase /copy/studytips/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1
</IfModule>

0

Решение

Вы можете использовать в своем .htaccess:

RewriteEngine On
RewriteBase /copy/studytips/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/?$ index.php/$1

Который работает с или без /, но в любом случае возвращает / в де переписать URL.

1

Другие решения

Других решений пока нет …