J'ai besoin de rediriger depuis http://example.com/ code> à
http://example.com/index.php code>. p>.
4 Réponses :
Utilisez ceci:
DirectoryIndex index.php
Pour des raisons de référencement, c'est pas i> OK d'avoir le même contenu pour deux URL différentes. Donc, DirectoryIndex code> fait pas i> aide pour le scénario de référencement.
Essayez ceci:
RewriteEngine On RewriteBase / RewriteCond %{REQUEST_URI} ^$ RewriteCond %{HTTP_HOST} ^example.com$ RewriteRule ^$ http://example.com/index.php [L,R=301]
Pourquoi avez-vous besoin mod_rewrite code> pour cela?
DirectoryIndex code> est la bonne réponse ici.
Il y a une différence dans la façon dont les deux travaillent. Le répertoire par défaut ne change pas l'urion, si vous devez faire quelques manipulations. C'est un gâchis.
Pour des raisons de référencement, c'est pas i> OK d'avoir le même contenu pour deux URL différentes. Donc, DirectoryIndex code> fait pas i> aide pour le scénario de référencement.
Cette solution est plus flexible, car l'index de répertoires ne peut pas rediriger comme une personne demandée
Juste pour ajouter ma propre solution, puisque La réponse de Michael n'a pas fonctionné pour moi, j'ai fait quelque chose comme:
RewriteEngine on # These two lines redirect non-www to www. RewriteCond %{HTTP_HOST} ^example\.com$ RewriteRule (.*) https://www.example.com$1 [R=301,L] # These two lines redirect the root to index.html. RewriteRule ^$ /index.html [R=301,L] RewriteRule ^/$ /index.html [R=301,L]
Ajout à @uwe Keim's Réponse ci-dessus, j'avais des non-www vers la configuration www sur Apache Virtual hôtes.
Qu'est-ce qui a fonctionné pour moi sur .htaccess était: p>