modification fichier htaccess

Nouveau WRInaute
Bonjour à tous et à toutes.
J'aurai besoin d'un coup de main pour un souci que je n'arrive pas à résoudre.
J'ai deux sites sur un même espace du serveur.
Le premier est dans un dossier à la racine (sergio) donc aucun problème, l'autre est dans un sous dossier (sergio/unmoment) et c'est celui ci qui me pose problème car je n'arrive pas à afficher les pages lorsque l'on clic sur un lien du menu.
Voici le htaccess du premier site qui fonctionne.
RewriteCond %{HTTP_HOST} ^www\.sergio\.fr [NC]
RewriteRule (.*) http://sergio.fr/$1 [QSA,R=301,L]
RewriteCond %{HTTP_HOST} ^sergio\.fr [NC]
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI}
RewriteRule accueil.html / [R=301,L]

RewriteRule ^([0-9_a-zA-Z-]+).html$ index.php?page=$1 [L]

voici le code php qui me permet de récupérer le nom des pages dans les url
<?php
if(isset($_GET['page']))
{
$page = (!empty($_GET['page']) )? $_GET['page'] : 'accueil';
$adresse1 = trim(str_replace('.html', '', $_SERVER['REQUEST_URI']), '/').'.';
$adresse = explode('.', $adresse1);
define('FIRST_DATA_URL', 0);
$page = $adresse[FIRST_DATA_URL];
}
else $page = "accueil";
?>
Voici maintenant le htaccess pour le site qui est dans le dossier "unmoment" et que je n'arrive pas à faire fonctionner.
RewriteCond %{HTTP_HOST} ^www\.sergio\.fr/unmoment/ [NC]
RewriteRule (.*) http://sergio.fr/unmoment/$1 [QSA,R=301,L]
RewriteCond %{HTTP_HOST} ^sergio\.fr/unmoment/ [NC]
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI}/unmoment/
RewriteRule /unmoment/accueil.html / [R=301,L]
# page sans autre variable:
RewriteRule unmoment/^([0-9_a-zA-Z-]+).html$ index.php?page=$1 [L]

et le code php pour récupérer le nom de la page dans l'url
<?php
if(isset($_GET['page']))
{
$page = (!empty($_GET['page']) )? $_GET['page'] : 'accueil';
$adresse1 = trim(str_replace('.html', '', $_SERVER['REQUEST_URI']), '/').'.';
$adresse = explode('.', $adresse1);
define('FIRST_DATA_URL', 0);
$page = $adresse[FIRST_DATA_URL];
}
else
{
$page = "accueil";
}
?>

Merci d'avance pour votre aide.
 
WRInaute impliqué
Faire deux sites sur le même hôte n'est sans doute pas le meilleur point de départ ; les sous-domaines sont une meilleure solution.

Une alternative sans peine serait de tout faire dans un seul htaccess sur la racine. Dans un premier temps gérer les problématiques relatives à HTTP et au www, puis traiter les deux hypothèses de redirection.

En passant cette commande n'a aucun sens, en tout cas pas celui que tu supposes :
Code:
RewriteRule unmoment/^([0-9_a-zA-Z-]+).html$ index.php?page=$1 [L]

"^" est soit utilisé au début d'un motif pour indiquer que le motif de l'expression régulière doit se trouver dès le début de la chaîne recherchée, mais sinon on l'utilise pour dire "sauf tel caractère".
 
Discussions similaires
Haut