Aller au contenu

mod_rewrite et perte du chemin relatif


Sujets conseillés

Bonjour à tous,

 

Nouveau sur ce site, je sollicite votre aide pour résoudre un problème que je rencontre actuellement sur l'utilisation de "mod_rewrite" et de ses directives.

Je précise que je suis novice concernant cet élément.

 

Les données:

Les fichiers relatifs au site que je développe actuellement se trouvent dans un dossier qui n'est pas à la racine de mon serveur de test (NAS Synology).

l'url de base est donc de la forme suivante: https://MonNas.local/private/MonSite (et non pas https://MonSite).

 

Je dispose du .htaccess suivant à la racine du site:

RewriteEngine On
RewriteBase /private/MonSite/
RewriteRule ^([a-zA-Z0-9\-\_\/]*)$ index.php?p=$1

 

 Cette directive me permet (en principe 😅) de convertir l'adresse suivante (vérifié depuis ce site)

URL 1 (demandée): https://MonNas.local/private/MonSite/login/lostpassword

En:

URL 2 (réécrite): https://MonNas.local/private/MonSite/index.php?p=login/lostpassword

 

Dans ma page à afficher, j'ai les références suivantes dans les en-têtes:

<head>
	<meta charset="utf-8">
	<title>MonTitre</title>
	<!-- css -->
	<link rel="stylesheet" href="./resources/vendor/fa/css/all.min.css"><!-- css font-awesome -->
	<link rel="stylesheet" href="./resources/vendor/bootstrap/css/bootstrap.min.css" id="bootstrap-css"><!-- css bootstrap -->
	<link rel="stylesheet" href="style.css" type="text/css"><!-- css custom -->
	<!-- js libraries -->
	<script src="./resources/vendor/bootstrap/js/bootstrap.bundle.min.js"></script><!-- js bootstrap -->
	<script src="./resources/vendor/jquery/js/jquery-3.6.0.min.js"></script><!-- js jquery -->
	<meta name="viewport" content="width=device-width, initial-scale=1">
</head>

 

Le problème:

Lorsque j'accède à l'URL 1, aucune de mes références CSS, JS et img ne fonctionne.

Lorsque je tape directement l'URL 2 dans la barre d'adresse, tout fonctionne bien.

 

Pouvez-vous svp m'aider à trouver où se trouve mon erreur?

 

Merci d'avance 🙂

Modifié par Asaiel
Lien vers le commentaire
Partager sur d’autres sites

Il y a 19 heures, Dan a dit :

 

As-tu essayé en ajoutant ceci au début du <header> de ta page ?

 

link rel="canonical" href="https://MonNas.local/private/Monsite/ />

 

Bonjour,

 

Merci beaucoup pour ton message. Malheureusement, ca ne fonctionne pas non plus... 

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

J'avais supprimé ma réponse en me rendant compte qu'elle ne faisait pas avancer vers une solution.  :(

Comme c'est sur ton NAS, tu devrais t'en sortir en utilisant les variables RewriteLog et RewriteLogLevel dans le fichier de conf d'Apache.

https://httpd.apache.org/docs/2.4/fr/mod/mod_rewrite.html

 

Cela te permettra de voir précisément ce qu'il essaie de réécrire.

 

Dan

 

Lien vers le commentaire
Partager sur d’autres sites

Il y a 10 heures, Dan a dit :

Bonjour,

 

J'avais supprimé ma réponse en me rendant compte qu'elle ne faisait pas avancer vers une solution.  :(

Comme c'est sur ton NAS, tu devrais t'en sortir en utilisant les variables RewriteLog et RewriteLogLevel dans le fichier de conf d'Apache.

https://httpd.apache.org/docs/2.4/fr/mod/mod_rewrite.html

 

Cela te permettra de voir précisément ce qu'il essaie de réécrire.

 

Dan

 

Merci pour l'info. Je me galère un peu pour trouver le fichier de configuration d'Apache sur les serveurs Syno.. dès que j'aurais pu vérifier ca, je posterai le résultat.

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...