J'ai créé un ensemble de RewriteRules pour mon site Web et n'ai eu aucun problème avec eux sur ma configuration locale. Voici un extrait de mon .htaccess:RewriteRule redirige vers un chemin absolu, plutôt que l'URL correcte
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteRule ^news/?$ news.php [L]
Localement, quand je visite 127.0.0.1/news, il redirige correctement news.php et masque l'URL. Je viens de mettre à jour le fichier .htaccess sur le serveur distant et recevoir cette erreur, en essayant de visiter l'exemple ci-dessus:
L'URL demandée /mnt/target02/123456/123456/www.mywebsite.com/web/content /news.php n'a pas été trouvé sur ce serveur.
J'ai essayé de changer la règle à ceci:
RewriteRule ^news/?$ http://www.mywebsite.com/news.php [L]
et la page se charge correctement. Cependant, la barre d'adresse affiche news.php, plutôt que des nouvelles. Y at-il quelque chose qui me manque, ou suis-je coincé avec l'adresse laide (et moins sûre)? Merci!
est ce répertoire 'web/content' votre racine de document? –
Oui. web/content est la racine du document. –
essayez une barre oblique avant news.php comme /news.php [L]. Aussi ce qui vous fait penser ne pas avoir une extension .php le rend plus sûr? Si vous essayez de cacher le fait que votre serveur est PHP il y a beaucoup d'autres façons de le découvrir .... – WebChemist