Arcy Posté(e) le 11 août 2015 Partager Posté(e) le 11 août 2015 Bonjour, J'ai un site donc l'accès aux pages s'organisent de la façon suivante (architecture MVC) : http://site.com/index.php?p=contact http://site.com/index.php?p=videos http://site.com/index.php?p=images J'obtiens donc la page concernée mais je souhaiterais réécrire l'URL d'une autre façon, en utilisant le Re-writing d'Apache. Ainsi, http://site.com/index.php?p=contact deviendrait (dans la barre d'URL) http://site.com/contact/ C'est possible ? Autre chose, je ne veux pas que les visiteurs puissent accéder aux sous-dossiers du site, CHMOD suffit ou je passe aussi par Apache ? Dernière question (promis ) : un truc pour lutter contre l'aspiration de site ? Merci ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
Cara62 Posté(e) le 11 août 2015 Partager Posté(e) le 11 août 2015 tiens tu trouveras peut être ton bonheur la dedans. Et je pense même que on peut refaire de la réécriture URL avec un htaccess. (pas sûr) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Arcy Posté(e) le 11 août 2015 Auteur Partager Posté(e) le 11 août 2015 J'avais déjà vu cette page mais elle donne pas les résultats de chaque exemple ... Je vais retenter avec, merci ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
ExIcarus Posté(e) le 11 août 2015 Partager Posté(e) le 11 août 2015 Oui ( http://www.apprendre-php.com/tutoriels/tutoriel-23-url-rewriting-ou-rcriture-d-url-avec-apache.html) Pour les sous dossiers du site , tu peux config tout ca dans le .htaccess il me semble. Le minimum est de mettre au moins un fichier index.html vide pour empecher d'avoir un affichage du directory (si tu n'as pas fait la config dans le .htaccess) Enfin pour le dernier , tout contenu que tu peux afficher depuis ton navigateur (ex : images , sous-dossier, etc...) peut être copié. Il y a des blacklist de crawler qui tourne sur le net qui peuvent surement empecher les aspirateur de tourner sur ton site , a voir. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Cara62 Posté(e) le 11 août 2015 Partager Posté(e) le 11 août 2015 Vu qu'on parle d'URL ça tombe bien (pas envie de recréer un sujet bref) Petit soucis avec Symfony.... (Arcy je sais je sais ), je bloque l'url en fonction du rôle de l'utilisateur or j'ai 2 rôles qui doivent avoir l'accès Edit : J'ai résolu mon problème c'est bon, fallait que je mette ROLE_ADMIN à la place. Le blocage fonctionne bien :) Merci Arcy Lien vers le commentaire Partager sur d’autres sites More sharing options...
Arcy Posté(e) le 11 août 2015 Auteur Partager Posté(e) le 11 août 2015 C'est OK pour Apache, j'ai juste un p'tit problème dans certains cas. Si l'URL est http://site.com/contact, ça renvoie le contenu de http://site.com/index.php?p=contact. En fait, le problème c'est si on rajoute un /, j'ai tout qui saute ... # http://www.apprendre-php.com/tutoriels/tutoriel-23-url-rewriting-ou-rcriture-d-url-avec-apache.html# On suit les liens symboliques Options +FollowSymlinks # Activation du mod rewrite d'Apache RewriteEngine On # Réécriture de index.html vers index.php RewriteRule ^index\.html$ /index.php RewriteRule ^([a-z0-9]+)$ index.php?&page=$1 [L] EDIT : (Arcy je sais je sais ) Mais là, je peux pas t'aider, pas assez de connaissances avec Symfony. Lien vers le commentaire Partager sur d’autres sites More sharing options...
cadegenere Posté(e) le 11 août 2015 Partager Posté(e) le 11 août 2015 En modifiant ta deuxième règle peut être pour prendre en compte un éventuel / ? C'est à tester par contre, j'ai pas Apache sous la main pour essayer. RewriteRule ^([a-z0-9]+\/?)$ index.php?&page=$1 [L] Edit : Tu parles bien d'une adresse du type http://www.site.com/contact/ ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Arcy Posté(e) le 11 août 2015 Auteur Partager Posté(e) le 11 août 2015 Oui, http://www.site.com/contactpointe vers la page de contact, http://www.site.com/contact/donne une erreur. Je suis en train de voir pour faire des pages d'erreurs pour faire tous les cas. EDIT : marche pas, mais c'est normal : il cherche contact en tant que dossier ... Du coup, il y a que la solution des pages d'erreurs (si j'y parviens ) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Arcy Posté(e) le 11 août 2015 Auteur Partager Posté(e) le 11 août 2015 Bon, voilà ce que j'ai fait (attention, c'est tordu ) : # http://www.apprendre-php.com/tutoriels/tutoriel-23-url-rewriting-ou-rcriture-d-url-avec-apache.html# On suit les liens symboliques Options +FollowSymlinks # Activation du mod rewrite d'Apache RewriteEngine On # Réécriture de index.html vers index.php RewriteRule ^index\.html$ /index.php RewriteRule ^([a-z0-9]+)$ index.php?&page=$1 [L]# Pages d'erreursErrorDocument 401 /Site/erreurs.phpErrorDocument 400 /Site/erreurs.phpErrorDocument 403 /Site/erreurs.phpErrorDocument 404 /Site/erreurs.phpErrorDocument 500 /Site/erreurs.phpOptions -Indexes Donc en premier, la réécriture de l'URL. Si l'URL se termine par un / = dossier. Si on souhaite afficher le contenu du dossier : erreur 403 Si on souhaite afficher un contenu qui n'existe pas dans ce dossier : erreur 404 Mais pour ça, je dois stocker l'erreur. J'ai donc fait une page générale qui sauvegarde le tout en session : <?phpsession_start();$_SESSION["erreurServeur"] = $_SERVER;header("Location: http://localhost/Site/");?> Une fois sur le site, je vérifie la présence de $_SESSION["erreurServeur"]. Si oui, je redirige l'utilisateur vers une page d'erreur (site.com/index?&page=erreur) où sera lu le contenu de $_SESSION["erreurServeur"]. Merci pour votre coup de main ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
Skywa Posté(e) le 11 août 2015 Partager Posté(e) le 11 août 2015 Salut, J'arrive un peu aprés la bataille mais c'est ce que fait drupal ( CMS ) avec son .htacces Je met le lien au cas où, c'est plus complet et ça pourrais-te donner des idées https://github.com/drupal/drupal/blob/7.x/.htaccess Lien vers le commentaire Partager sur d’autres sites More sharing options...
Arcy Posté(e) le 11 août 2015 Auteur Partager Posté(e) le 11 août 2015 YEAH ! Je garde, ça peut toujours pour de futurs projets, merci ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.