404 not found page ne fonctionne pas avec mon .htaccess
J'ai ci-dessous .htaccess sur le serveur avec le pas trouvé la page des règles, mais il ne semble pas fonctionner. Une idée?
RewriteEngine on
RewriteRule ^article_detail/([a-zA-Z0-9_-]+)/([0-9]+)\.html$ article_detail.php?article_det=$2
Options +FollowSymLinks
ErrorDocument 404 http://www.example.com/main/404_not_found.html
# compress text, HTML, JavaScript, CSS, and XML
<IfModule mod_ext_filter.c>
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
# remove browser bugs
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
</IfModule>
Que vouliez-vous dire avec pas de travail? Avez-vous envoyer la page 404, à l'intérieur du script php n'Apache livrer la page d'erreur 404?
ce qui ne semble pas fonctionner? il est parfaitement bien. pourriez-vous poster erreur aussi?
ce qui ne semble pas fonctionner? il est parfaitement bien. pourriez-vous poster erreur aussi?
OriginalL'auteur Eric T | 2013-07-14
Vous devez vous connecter pour publier un commentaire.
Je suis en supposant que vous utilisez Apache plutôt que IIS;
Vous assurer d'avoir le mod rewrite activé (Vous pouvez le faire en plaçant la ligne ci-dessous dans la
httpd.conf
fichier (généralement à l'intérieur de la/conf/
répertoire Cela peut-être différent si vous utilisez l'hébergement mutualisé et enlever le point virgule à partir du début de la ligne);LoadModule rewrite_module modules/mod_rewrite.so
Trouver le répertoire de balise pour votre www racine et changer
AllowOverride None
àAllowOverride All
Créer un .fichier htaccess dans le répertoire racine (Si il n'existe pas)
Vous auriez besoin d'insérer quelque chose qui ressemble à ceci;
ErrorDocument 500 /errordocs/500.html
ErrorDocument 404 /errordocs/404.html
ErrorDocument 401 /errordocs/401.html
ErrorDocument 403 /errordocs/403.html
Au lieu de
ErrorDocument 404 /errordocs/404.html
vous pouvez également faire deErrorDocument 404 http://www.yourdomain.com/errordocs/404.html
ou même juste afficher un message simpleErrorDocument 404 "Sorry can't allow you access today"
Si vous avez des difficultés à le Manuel Apache (Directive ErrorDocument) devraient vous aider davantage.
Dans votre cas, assurez-vous que
AllowOverride All
est sur, votre édition de la.htaccess
fichier dans la racine et assurez-vous que vous pouvez frapper l'URL de la page d'erreur, si il n'y a rien à l'URL que vous spécifiez Apache renverra l'erreur 404 par défaut.Vérifié sur apache 2.4.10, C'est de ne pas fonctionner si votre url contient "%2f". Ex: localhost/invalide%2fsource
OriginalL'auteur
Dans votre configuration d'apache, dans la section du Répertoire de votre site, assurez-vous que vous êtes autorisé à remplacer le FileInfo directive.
Quelque chose comme
AllowOverride FileInfo
http://httpd.apache.org/docs/current/mod/core.html#errordocument
OriginalL'auteur Gaëtan
Essayez de décommenter la ligne de httpd.conf dans la configuration apache.
est sans commentaire:
Également redémarrer apache
OriginalL'auteur Jasmin Mistry
Avez-vous essayé
ErrorDocument 404 /main/404_not_found.html
?Juste au cas où vous avez quelque chose interfère avec votre URL (pas sûr si c'est votre htaccess)? J'ai l'habitude de ne pas mettre la totalité de l'URL dans même si, techniquement, vous pouvez.
Aussi pouvez-vous accéder à la page 404 directement?
OriginalL'auteur Ross Logan
Essayer de changer la ligne par ErrorDocument 404 http://www.google.com
Si cela fonctionne, cela signifie que le chemin que vous utilisez a été misconfigure. Je ne sais pas votre structure de répertoire afin que je puisse vous donner le bon code à écrire.
Je ne pense pas que c'est une .htaccess erreur, car vous aurez un 500 erreur Interne s'il en est.
Si cette astuces ne fonctionne pas, cela signifie que quelque chose de rediriger l'intérieur de votre configuration d'apache.
OriginalL'auteur David Level