Jump to content

Questions diverses sur Apache


Arcy

Recommended Posts

Bonjour,

 

J'ai un site donc l'accès aux pages s'organisent de la façon suivante (architecture MVC) :

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 :transpi:) : un truc pour lutter contre l'aspiration de site ?

 

Merci !

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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 :dd:), 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 :D

Link to comment
Share on other sites

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 :dd:)

:transpi:

 

Mais là, je peux pas t'aider, pas assez de connaissances avec Symfony.

Link to comment
Share on other sites

Bon, voilà ce que j'ai fait (attention, c'est tordu :dd:) :

# 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 !

:inpactitude:

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...