htacces

Eléphant du PHP | 372 Messages

29 juin 2015, 07:31

Salut à tous.
J'ai un htacces. pour faire en quelque sorte une adresse url plus propre et 2 petits truc par ci par la.

Mon petit problème est que en fait il ne me trouve plu la page .
Not Found
The requested URL /home/users6/l/lasortie/www/sortie.php was not found on this server.


Biensur je suis sur que la page est bien sur mon server, je pense à une erreur ds mon htacces mais ne la vois pas.
Merci à vous.

Le code:
#--------------------------------------------------
# Répertoire : /
#--------------------------------------------------

SetEnv SESSION_USE_TRANS_SID 0

# Activation du module de réécriture d'URL
Options +FollowSymLinks
Options -MultiViews
RewriteEngine On

#--------------------------------------------------
# R�gles de réécriture d'URL :
#--------------------------------------------------

# Recherche
RewriteCond %{QUERY_STRING} ^q=
RewriteRule ^(index\.php)?$ recherche.php [L]

RewriteRule ^toutes-les-sorties-en-region-([A-Za-z0-9_-]+)-du-departement-([0-9]{2}).html$ sortie.php?region=$1&departement=$2
RewriteRule ^toutes-les-sorties-en-region-([A-Za-z0-9_-]+).html$ sortie.php?region=$1
RewriteRule ^toutes-les-sorties.html sortie.php
#RewriteRule ^([A-Za-z0-9_-]+).html$ $1.php

six3six
Invité n'ayant pas de compte PHPfrance

29 juin 2015, 10:27

Salut :) ,
Es-tu sur d'avoir nommé ton fichier .htaccess et pas .htacces comme tu le marque dans ton post
A+

Louis

Petit nouveau ! | 1 Messages

29 juin 2015, 10:34

C'est bon j'ai un compte PHPfrance maintenant :)

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

29 juin 2015, 11:56

Bonjour

Ton fichier "sortie.php" est bien présent à la racine de ton site (correspondant donc au répertoire www) et pas dans un sous répertoire ?
Est-ce que le nom de ce fichier est bien exclusivement en minuscule ? (les serveurs unix/linux sont très à cheval sur le respect de la casse des noms de fichiers)

Ton fichier htaccess n'est à priori pas à remettre en question, puisque la redirection vers le fichier sortie.php se fait bien... au mieux c'est le chemin de celui-ci qu'il faut ajuster :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 372 Messages

29 juin 2015, 15:12

Re,
donc mon fichier s'appelle bien .htaccess

C'est le seul problème qu'il me reste a régler sur mon site. ça m'embete vraiment.
Mon fichier sortie.php est bien à la racine et bien écrit en minuscule
Le problème est surement très simple, car en local tout marche très bien.

Je vous remet le code de htaccess et de sortie.php

.htacces
#--------------------------------------------------
# Répertoire : /
#--------------------------------------------------

SetEnv SESSION_USE_TRANS_SID 0

# Activation du module de réécriture d'URL
Options +FollowSymLinks
Options -MultiViews
RewriteEngine On

#--------------------------------------------------
# R�gles de réécriture d'URL :
#--------------------------------------------------

# Recherche
RewriteCond %{QUERY_STRING} ^q=
RewriteRule ^(index\.php)?$ recherche.php [L]

RewriteRule ^toutes-les-sorties-en-region-([A-Za-z0-9_-]+)-du-departement-([0-9]{2}).html$ sortie.php?region=$1&departement=$2
RewriteRule ^toutes-les-sorties-en-region-([A-Za-z0-9_-]+).html$ sortie.php?region=$1
RewriteRule ^toutes-les-sorties.html sortie.php
#RewriteRule ^([A-Za-z0-9_-]+).html$ $1.php

ErrorDocument 404 http://www.lasortie.fr/404.php



sortie.php
<?php

 	 $path = NULL;
        if(empty($bdd)) {
            session_start();
            include("conndb.php");
             include("include/variables.php");
            $path = '../';
        }

	$region_id = !empty($_REQUEST['region']) ? regionByUrl($_REQUEST['region']) : NULL;
	$titre = !empty($_REQUEST['region']) ? 'Sortir en '.$aRegion[$region_id] : 'Sortir près de chez moi';
	$titre .= !empty($_REQUEST['departement']) ? " dans le département ".$aDepartement[$region_id][$_REQUEST['departement']] : NULL;
	
  
  
    ?>
    <!DOCTYPE html>
    <html lang="fr">
    <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    
    <meta name="description" content="<?php echo $titre; ?>, concert,spectacle,sport,rencontre,marché,vide-grenier,brocante,restaurant,bar,discothéque,pubs,loto,exposition">
    <meta name="Keywords" content="<?php echo $titre; ?>,restaurant, discothèque, bars, pubs, vide grenier, brocante, rencontre, loto, sport, marché, exposition, expositions, concert, spectacle">
    <meta name="Copyright" content="lasortie.fr">
    <meta name="robots" content="index, follow">
    <meta name="Revisit-After" content="1 days">
 
    <title><?php echo $titre; ?></title>
    
    <link rel="stylesheet" href="css/jquery.datetimepicker.css">
    <link href='http://fonts.googleapis.com/css?family=Montserrat' rel='stylesheet' type='text/css'>
    
    </head>
    <body>
    
    
    
    <?php 
        include("include/header.php");
        include ('include/liste_deroulante.php');
    ?>
// et le code  continue .....
et le code la redirection dépend de l'url rewriting en fonction de la region cliké .....
<!-- Liste regions -->
<div class="col-md-4">   
<br><br>
<?php

 $count = array();
 $liste = $bdd-> query ("SELECT COUNT( * ) AS `nb` , `id_region`,`url` FROM `loisirs` JOIN `regions` ON `regions`.`region_id` = `loisirs`.`id_region` WHERE `date_fin_sortie` > NOW( )  AND`valide` = 1 GROUP BY `id_region`");
 while($row = $liste->fetch(PDO::FETCH_ASSOC)) {
 	$count[$row['id_region']] =  $row['nb'];
 }

  echo '<ul class="region">';
 
 foreach($aRegion as $k => $v) {
  $url = simplification($v);
  $nb = array_key_exists($k, $count) ? $count[$k] : 0;
 echo '

  <li class="list-unstyled marg_li" id="li_'.$url.'">
        <a href="toutes-les-sorties-en-region-'.$url.'.html" title="Sortir en-'.$url.'"><span class="liste_region">Sortir en </span> '.$v.'         
      </a>
	<span class="badge pull-right">'.$nb.'</span>
  </li>'
  ;
 }
 echo '</ul>';
?>
</div>
<!-- Fin liste regions -->


  
</div>

<?php include("include/footer.php"); ?>
 
 <script  type="text/javascript" src="js/bootstrap.min.js"></script>

	<script type="text/javascript">
	$(document).ready(function() {
		$('#francemap').vectorMap({
		    map: 'france_fr',
			hoverOpacity: 0.7,
			hoverColor: "#9bf8dd",
			backgroundColor: "transparent",
			color: "#20d64b",
			borderColor: "#000000",
			selectedColor: "#4ec0b9",
			enableZoom: false,
			showTooltip: true,
			onRegionOver : function(element, code, region) {
				$('#li_'+code).toggleClass('active');
			},
			onRegionOut : function(element, code, region) {
				$('#li_'+code).toggleClass('active'); 
			},
		    onRegionClick: function(element, code, region)
		    {				
		     window.location.href = 'toutes-les-sorties-en-region-' + code + '.html';
		    }
		});
	});
	</script>

En supprimant ces 3 lignes du htaccess j'obtiens le même problème en local et en ligne, donc surement que le problème vient de la mais je ne sais où ....

RewriteRule ^toutes-les-sorties-en-region-([A-Za-z0-9_-]+)-du-departement-([0-9]{2}).html$ sortie.php?region=$1&departement=$2
RewriteRule ^toutes-les-sorties-en-region-([A-Za-z0-9_-]+).html$ sortie.php?region=$1
RewriteRule ^toutes-les-sorties.html sortie.php
#RewriteRule ^([A-Za-z0-9_-]+).html$ $1.php