begin process at 2012 05 28 15:54:43
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Général

 > 

Allez on melange tout!


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Allez on melange tout!

vendredi 25 janvier 2008 à 02:21:08 | Allez on melange tout!

orrichan

Bonjour a tous,

J'ai un probleme d'ordre general.

J'ai un index sur "www.domain.com".
Sur mon serveur, le chemin d'acces au repertoire est "D:\www\domain\".

Mes pages sont toutes contenues dans ce repertoire, seules certains modules d'include se retrouvent dans un sous-repertoire "includes".

Mes pages se presentent comme ca:

<?php
include("./includes/common.inc.php");
include("./css_stock.php");
?>
</head>
<body>
</body>
</html>

Tout ca marche tres bien, et tout mon site entier est base' sur cette methode. Et quasiment toutes les URL sont en absolus.
Le fichier css_stock.php est compose' de lien du style "<link href="fichier.css" rel="stylesheet" type="text/css">".


Vient alors le probleme: J'utilise ModRewrite, ce qui en soit n'est pas un probleme.
Le probleme arrive quand j'essaie de transformer la page www.domain.com/cool-1-page.php en www.domain.com/cool-1-page/ !
Et quel probleme? Mon site n'arrive plus a trouver les fichiers CSS et les images et les liens ne fonctionnent plus parce que le "/" en fin d'URL fait que tous les liens sont repousse's dans le repertoire "cool-1-page/".

Alors bien sur j'ai essaye' de tripoter a gauche a droite pour que ca aille, mais rien n'a faire. Je precise quand meme que ce probleme n'affecte pas "include("./includes/common.inc.php");". (ca me parait bizarre la tout de suite mais je suppose que c'est logique ?).

Ce que je voudrais c'est une solution ecologique :) (economique ca faisait moins tendance) qui me fait pas changer trois milliards de trucs. Oui je pourrais directement changer toutes les URL sur la page et les faire pointer directement sur le fichier avec l'URL complete mais non. Non parce que si je change encore l'ecriture des pages par ModRewrite je suis reparti pour un changement total d'URL, et ca c'est pas pratique. Je precise aussi cette structure d'includer les CSS elle est reprise sur tout le site et que ca marche tres tres bien (je peux pas changer les centaiens d'autres pages).

Si quelqu'un a une etincelle a proposer, je suis tout ouie.

J'utilise HTML PHP et CSS. (pas de Javascript si possible merci)

Rui

RU.I
vendredi 25 janvier 2008 à 05:53:24 | Re : Allez on melange tout!

malik7934

J'avais le même problème que j'ai réglé en faisant ça:

if (substr($_SERVER['REQUEST_URI'],-1) == '/' && !is_dir(substr($_SERVER['DOCUMENT_ROOT'],0,-1).$_SERVER['REQUEST_URI']))
    header('Location:http://'.$_SERVER['SERVER_NAME'].substr($_SERVER['REQUEST_URI'],0,-1));


*****
noisy communication - wherever, be everywhere!

vendredi 25 janvier 2008 à 15:39:34 | Re : Allez on melange tout!

orrichan

Malik7934 merci pour ta reponse.

Si je comprends bien le systeme que tu me proposes, quand il y a un / dans le lien, on affiche la page sans / ?
Donc je dois mettre cette redirection en tout premier lieux sur mes pages. Est ce que ca ne pose aucun probleme de SEO ? Genre dedoublement de page pour contenu identique?

En tout cas merci deja beaucoup pour cette solution.

RU.I
vendredi 25 janvier 2008 à 16:46:58 | Re : Allez on melange tout!

malik7934

Réponse acceptée !
Il faudrait effectivement ajouter peut-être un header de movde permanently...

if (substr($_SERVER['REQUEST_URI'],-1) == '/' && !is_dir(substr($_SERVER['DOCUMENT_ROOT'],0,-1).$_SERVER['REQUEST_URI'])){
header("Status: 301 Moved Permanently", false, 301);
header('Location:http://'.$_SERVER['SERVER_NAME'].substr($_SERVER['REQUEST_URI'],0,-1));
}

*****
noisy communication - wherever, be everywhere!

vendredi 25 janvier 2008 à 16:57:41 | Re : Allez on melange tout!

orrichan

Merci beaucoup.

Enfait, je suis assez perplexe. D'habitude, sur un site, domain.com/fichier = domain.com/fichier/ non? Pour le moment "fichier" fonctionne et "fichier/" ne fonctionne pas. Si j'utilise la methode que tu me presentes, je fais exactement l'inverse (je sais que c'est que je viens de demander). Mais ca garde un aspect pas vraiment naturel et ca me fait un peu peur.
Tant qu'a faire des manipulations n'est-il pas encore meilleur d'utiliser ta methode de manipulation de l'URL pour injecter simplement dans le fichier "css_stock.php" l'URL qui menera vers le Saint Grale? (ainsi de suite pour include/...). Est ce que cette redirection par les header ne ralentira pas le site ?

Desole' pour toutes ces questions je suis un peu perdu.

RU.I
vendredi 25 janvier 2008 à 18:19:11 | Re : Allez on melange tout!

malik7934

Tout dépend de ton rewriting.

Chez moi par exemple, j'ai des urls du type http://monsite.com/truc ou "truc" n'est pas un répertoire, mais un rewrite. Si tu fais un simple htaccess qui dit par exemple que http://monsite.com/truc c'est idem que http://monsite.com/index.php?id=truc, alors en faisant http://monsite.com/truc/ ton site va penser à un répertoire et le path pour les fichiers comme le css ne sera plus bon...

Quant à la redirection par header, je ne pense pas qu'elle ralentisse: c'est juste le temps que google apprenne que l'adresse avec le / n'existe pas et c'est tout, ensuite elle n'a plus lieu

*****
noisy communication - wherever, be everywhere!

samedi 26 janvier 2008 à 03:03:34 | Re : Allez on melange tout!

orrichan

Merci beaucoup pour ton aide, je vais tenter de mettre ca en oeuvre et voir ce que ca donne. Je tacherais de ne pas oublier de revenir donner un compte rendu de l'application. Moi c'est exactement pareil que chez toi pour le rewritting.

Merci encore pour ton aide.

RU.I


Cette discussion est classée dans : page, php, probleme, url, css


Répondre à ce message

Sujets en rapport avec ce message

probleme feuille css en php5 [ par faceme ] bonjour les amis, je suis nouveau dans php5 et MVC, pour améliorer mes competances, j'ai donc crée mon propore mvc qui contient une classe template p defaut de transmision avec url php html [ par profiter ] bonjour lorsque j'envoie une variable a l'aide d'un url aussi la var je la recupere de la base de donnees et s'affiche bien dans la premiere page alor probleme de classe en php [ par Elkaire ] Donc voila mon probleme!!dans une premiere page je rensegne les insances de mon objet. Une fois renseigné je peux réutiliser les instances cet objet d url précédente [ par eax ] juste une petite question: est-il possible à partir d'une page php de connaitre l'url de la page précédente qui a envoyé le visiteur ici? (sur le meme probleme php et explorer [ par sirspycho ] j'ai programmé un site avec un ami. on a utilisé le php, le javascript et comme base de donnée mysql.Pour travailler en local (nous n'avions pas encor Redirection URL, include et header [ par finipe ] Bonjour à tous.Je débute en php, et j'ai créé un site en utilisant mes maigres connaissances du moment. Il est fait ainsi : une page navig.php dont le variable et url ???? [ par fab_59 ] bonjour, j'aimerais savoir comment on configure la page php, si la variable est dans l'url, du type http://var.site.fr/comment peut on faire pour recu probleme de fenetres [ par loutwice ] salut,alors voila, j'ai une page en php , on va l'appeler 1.okj'ai une autre page php, on va l'appeler 2.okexplication de ce que je désire:avec 1 on a Probleme url [ par Steph115 ] Bonjour a tous, je viens juste de debuter dans le php, voila mon problemeJ'aimerais recuperer l'url de la page en cours je sais que cette question a e Récupérer URL page [ par tahiti_bob ] Bonjour,Je cherche à récupérer l'URL complète d'une page.Ex :L'adresse : http://serveur/index.php?page=forum&action=lireAvec la méthode $_SERVER[PHP_S


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,123 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales