2010-10-17 3 views
1

Pour l'amour de Dieu, je n'arrive pas à faire fonctionner correctement ce mod_rewrite. Au lieu de faire des essais et des erreurs de force brute, permettez-moi de demander ici.Où est le bon endroit pour les entrées mod_rewrite?

  1. Je souhaite que les règles mod_rewrite s'appliquent à TOUS les domaines.
  2. Je veux entrées mod_rewrite dans httpd.conf
  3. Je veux me débarrasser de ce virus Web (à des fins de référencement):

    http://www.example.com>http://example.com

  4. Je veux me débarrasser de l'indice. html (pour le référencement, google indexe à la place du domaine seulement):

    http://www.example.com/index.html>http://example.com

    http://www.example.com/some/index.html>http://example.com/some/index.html

Domaines sont à l'intérieur <virtualhost> entrées. Je ne pourrais pas déterminer où placer quoi ou lequel devrait avoir la priorité. Comme je l'ai mentionné, je voudrais appliquer ces 2 règles à tous les DOMAINES du serveur.

La situation est exacerbée par ssl.conf. Est-ce que tout cela doit aussi être saisi dans ssl.conf? Que se passera-t-il lorsqu'il y aura 2 redirections comme:

http://www.example.com/index.html > http://example.com/index.html > http://example.com 

Merci beaucoup. Cela est rapidement devenu si confus.

Maria

Répondre

0

Cela résout pour moi. Comme je le soupçonnais, il y a toute une différence là où la réécriture est appliquée. Beaucoup de gens, y compris la moyenne, semble ne pas le savoir.

http://wiki.apache.org/httpd/RewriteContext

Les prix Apache Server des requêtes en phases distinctes. Bien que cela soit généralement transparent pour l'utilisateur et l'administrateur, cela a un effet sur le comportement de mod_rewrite lorsque les jeux de règles sont placés dans des contextes différents. Pour trop simplifier un peu, lorsque les règles sont placées dans des blocs VirtualHost (ou dans le contexte du serveur principal), elles sont évaluées avant que le serveur ait encore mappé l'URI demandé à un chemin de système de fichiers. Inversement, lorsque les règles sont placées dans des fichiers .htaccess ou dans des blocs Directory dans la configuration du serveur principal, elles sont évaluées après l'apparition de cette phase.

Questions connexes