J'aimerais /blog/anything-that-doesn"t-exist
rediriger vers /blog
, alors que tous les autres 404 sont gérés par Drupal.
Mon htaccess a actuellement:
ErrorDocument 404 /index.php
Donc tout est géré par Drupal. Est-il possible d'avoir une règle 404 spécifique à un sous-répertoire, mais la définir à partir du répertoire racine htaccess? le /blog/
Le sous-répertoire est généré par Drupal, donc je ne peux pas "mettre un htaccess écrasant dedans.
Réponses:
0 pour la réponse № 1Vous pouvez utiliser le code suivant dans votre fichier racine / .htaccess:
RewriteEngine On
#If /blog/foo is not a directory
RewriteCond %{DOCUMENT_ROOT}/blog/$1 !-d
#And /blog/foo is not a file
RewriteCond %{DOCUMENT_ROOT}/blog/$1 !-f
#Then redirect /blog/foo to /blog
RewriteRule ^blog/(.+)$ /blog/ [NC,L,R]
Il convient de noter que, le temps d'exécution deLa directive RewriteRule et ErrorDocument est différente. La directive RewriteRule s'exécute avant la directive ErrorDocument, donc toute demande de / blog / bad_url sera traitée par la règle ci-dessus, et toutes les autres 404 demandes seront traitées par le ErrorDocument.