J'ai écrit un petit fichier htaccess pour rediriger les utilisateurs d'Internet Explorer vers une page spécifique. Voici le contenu:
# MS Internet Explorer - Mozilla v4
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^Mozilla/4(.*)MSIE
RewriteRule ^index\.php$ /sorry.php [L]
# All other browsers
#RewriteRule ^index\.html$ /index.32.html [L]
Avez-vous une idée du pourquoi cela donnerait une erreur de 500 serveur interne? J'ai utilisé le mod rewrite auparavant, donc j'ai chargé le module ici ...
J'ai finalement eu une bonne réponse du support. On dirait que, pour une raison quelconque, j'ai besoin de RewriteBase /
dans chaque fichier .htaccess qui utilise le mod rewrite pour que ce module fonctionne correctement, idk pourquoi, mais cela semble résoudre le problème. Merci pour tous les bons commentaires tho :)
Essayez d’utiliser la directive RewriteLog
: elle vous aidera à localiser de tels problèmes:
# Trace:
# (!) file gets big quickly, remove in prod environments:
RewriteLog "/web/logs/mywebsite.rewrite.log"
RewriteLogLevel 9
RewriteEngine On
Puis dites-moi ce que cela donne comme commentaire et je mettrai à jour ma réponse pour vous aider.
Cela fonctionne pour moi, j'ai changé ^ Mozilla/4 (. ) MSIE en! ^ Mozilla/4 (. ) MSIE pour le tester avec n'importe quel autre navigateur . Normalement, une erreur HTTP 500 lors de la modification de votre htaccess signifie que quelque chose est incorrect avec le fichier htaccess. Copié du manuel Apache à l'adresse http://httpd.Apache.org/docs/2.0/misc/rewriteguide.html
RewriteCond %{HTTP_USER_AGENT} ^Mozilla/4.*
RewriteRule ^foo\.html$ foo.NS.html [L]
Certaines versions ou installations d’Apache n’aiment pas les redirections sans une URL complète: (un serveur sur lequel je travaille)
RewriteRule ^index\.php$ http://www.example.com/sorry.php [L]
Différentes sélections de navigateur peuvent être écrites comme ci-dessous:
# Mozilla 4/5 Browsers
RewriteCond %{HTTP_USER_AGENT} ^Mozilla/[4-5]\.[0-9]+\ \(compatible;\ MSIE\ [3-9]\.[0-9.]+
RewriteCond %{HTTP_USER_AGENT} ^Mozilla/[4-5]\.[0-9]+\ \(Macintosh;\ .+\)\ \AppleWebKit/[1-9]\.[0-9.]+\ \(KHTML,\ like\ Gecko\)\ \Safari/[0-9]{3,8}$
RewriteCond %{HTTP_USER_AGENT} ^Mozilla/[4-5]\.[0-9]+\ \(Macintosh;\ I;\ PPC\)$
RewriteCond %{HTTP_USER_AGENT} ^Mozilla/[4-5]\.[0-9]+\ \(X11;\ U;\ Linux\ i686;\ [a-z]{2}-[A-Z]{2};\ rv:[1-9]\.[0-9.]+\)\ Gecko/Debian-[1-9]\.[0-9.]+-[0-9]+\ Galeon/[2-9]\.[0-9.]+\ \(Debian\ package\ [2-9]\.[0-9.]+-[0-9]+\)$
RewriteCond %{HTTP_USER_AGENT} ^Mozilla/[4-5]\.[0-9]+\ \(compatible;\ Konqueror/([0-9]+\.)+[0-9]+.+\ 20[0-9]{6}\)$
RewriteCond %{HTTP_USER_AGENT} ^Mozilla/[4-5]\.[0-9]+\ \(compatible;\ Konqueror/([0-9]+\.)+[0-9]+;\ Linux\)\ \(KHTML,\ like\ Gecko\)$
RewriteCond %{HTTP_USER_AGENT} ^Mozilla/[4-5]\.[0-9]+\ \(.+;\ rv:([0-9]+\.)+[0-9a-z]+\)\ Gecko/20[0-9]{6}
RewriteCond %{HTTP_USER_AGENT} ^Mozilla/[4-5]\.[0-9]+\ WebTV/([0-9]+\.)+[0-9]+\ \(compatible;\ MSIE\ [5-9]\.[0-9]+
# Others
RewriteCond %{HTTP_USER_AGENT} ^Avant\ Browser\ \(http://www\.avantbrowser\.com\)$
RewriteCond %{HTTP_USER_AGENT} ^Microsoft\ Internet\ Explorer/[34]\.[0-9]{1,2}
RewriteCond %{HTTP_USER_AGENT} ^Mozilla/(3\.01¦4\.0)\ \(compatible;\)$
RewriteCond %{HTTP_USER_AGENT} ^Mozilla/[3-4]\.[0-9]+\ \[[a-z]{2}\](\ \(.+\))?
RewriteCond %{HTTP_USER_AGENT} ^Mozilla/4\.0\ \(PSP\ \(PlayStation\ Portable\);\ [0-9.]+\)$
RewriteCond %{HTTP_USER_AGENT} ^Opera/[5-9]\.[0-9]+