Aller au contenu

Questions diverses sur Apache


Arcy

Messages recommandés

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 !

Lien vers le commentaire
Partager sur d’autres 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.

Lien vers le commentaire
Partager sur d’autres 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

Lien vers le commentaire
Partager sur d’autres 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.

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres 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:

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...