Htaccess et urlrewriting sur serveur site php

Fermé
arad - 13 juil. 2012 à 17:18
Bonjour à tous !

Je suis embêté j'ai réalisé un site en php (prog objet et url rewriting) qui fonctionne très bien en local (easyPhp, mySql) mais lorsque j'ai voulus mettre ce site sur le serveur l'url rewriting ne fonctionne pas...
Je suis hébergé chez wdmedia mais il me semble que c'est OVH au final. Voici la config de mon site (MVC) :

- index principal :
Appel du fichier ini.php (déclaration de la session DIR_PATH => fonctionnel)
Appel du fichier controller_general qui appel les fichier correspondant selon l'url

- Le fichier ini.php appel le fichier include qui lui appel toutes les classes.
- Le fichier .htaccess à la racine du site comme ceci :
AddDefaultCharset UTF-8 
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^(.*)$ index.php/$1


- J'ai également une classe simpleUrl.php comme ceci :
class simpleUrl{
	var $site_path;
	function __construct($site_path){
		$this->site_path = $this->removeSlash($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];
		else
			return false;
	}
}

Donc dans mon site si je veux récupérer l'url www.bidule.fr/toto/titi je fais comme ceci $url->segment(2);
Ici le segment(2) vaut donc "titi"...
Alors en local tout fonctionne correctement, sur le serveur je n'arrive qu'à afficher la première page dans le dossier vue/index.php...

Faut-il mettre un fichier .htaccess dans chaque repertoire ?? (je pense que non... en tout cas pas besoin en local)
Exemple :
Mon site se trouve dans le rep www/SITE/
Si je tape www.bidule.fr/SITE/ => le serveur m'affiche l'index.php
Si je tape www.bidule.fr/SITE/essai => le serveur m'affiche The requested URL bidule.fr/_/SITE/index.php/essai was not found on this server.
Je précise que c'est mon controlleur qui appel les vues à l'aide d'un switch :

case 'essai': include (DIR_PATH."frontend/vues/essai.php");break;

Ici ce n'est qu'un exemple mon site ne s'appelle pas bidule :p mais le principe est exactement le même.
Le probléme vient du fichier .htaccess quelqu'un peut-il m'aider SVP ??
Mon hebergeur accepte l'url rewriting j'ai fait un test simple cela fonctionne...