[Résolu] l'URL anglaise sur un Drupal francophone génère une erreur 404

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour,

Je tente une première immersion sous Drupal 7 en Français, mais lorsque je suis dans le panneau d'administration et que je valide un utilisateur test, tout semble se passer correctement sauf que la page affichée ensuite a pour URL /admin/people (erreur 404).

Apparemment le renvoi à la page "personnes" est incorrect puisque cette page a normalement pour URL /?q=node#overlay=%3Fq%3Dadmin%252Fpeople

Ca vient d'un problème de traduction ?

Version de Drupal : 

je ne sais pas ! depuis
Accueil » Administration » Configuration » Recherche et metadonnées
j'obtiens le message
"Utiliser des URL de la forme example.com/user à la place de example.com/?q=user. Si vous obtenez une erreur Page non trouvée (404) après avoir testé les URL simplifiées, référez-vous au manuel en ligne."

Puis "lancer le test des URL simplifiées"

Or, lancer le test ne donne rien (ça passe très vite sur page dont je ne vois rien et ça revient au même point).

Dans le manuel (7x) il est écrit
1. Navigate to the Clean URLs configuration page (Administer > Configuration > Search and metadata)
2. Wait for the automated Clean URLs test to run.
3. Check or uncheck the Enable clean URLs checkbox
4. Click "Save configuration"
Et bien en ce qui me concerne, je n'ai jamais eu la possibilité de cocher ou décocher quelque case que ce soit depuis ce menu :-/

Normalement vous devriez voir sur cette page une case à cocher permettant l'activation.

Comme ce n'est pas le cas, cela veut dire que Drupal est mal installé.

Pouvez-vous vérifier que le fichier .htaccess est bien présent à la racine du site ?

Bonjour,

.htaccess est bien là, et comporte d'ailleurs ces quelques lignes relatives aux URL propres :

# Pass all requests not referring directly to files in the filesystem to
# index.php. Clean URLs are handled in drupal_environment_initialize().
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^ index.php [L]

Je crois qu'il y a des erreurs, mais je ne sais pas comment interpréter tout ça (pas très familier de cet outil).

URL

Statut

Domaine

Poids

Chronologie
Firebug's log limit has been reached. 0 entry not shown. Préférences
Panneau Réseau activé. Quand le panneau est désactivé, aucune requête n'est affichée.

POST drupal?q=admin/config/search/clean-urls&render=overlay&render=overlay
http://localhost/www/drupal/?q=admin/config/search/clean-urls&render=ove...

302 Found

localhost

20 B

638ms

GET drupal?q=admin/config/search/clean-urls&render=overlay
http://localhost/www/drupal/?q=admin/config/search/clean-urls&render=ove...

200 OK

localhost

7.1 KB

1.01s

GET system.base.css?lrjjfv
http://localhost/www/drupal/modules/system/system.base.css?lrjjfv

304 Not Modified

localhost

1.8 KB

1ms

GET system.menus.css?lrjjfv
http://localhost/www/drupal/modules/system/system.menus.css?lrjjfv

304 Not Modified

localhost

661 B

GET system.messages.css?lrjjfv
http://localhost/www/drupal/modules/system/system.messages.css?lrjjfv

304 Not Modified

localhost

382 B

1ms

GET system.theme.css?lrjjfv
http://localhost/www/drupal/modules/system/system.theme.css?lrjjfv

304 Not Modified

localhost

1.2 KB

GET overlay-child.css?lrjjfv
http://localhost/www/drupal/modules/overlay/overlay-child.css?lrjjfv

304 Not Modified

localhost

1 KB

1ms

GET system.admin.css?lrjjfv
http://localhost/www/drupal/modules/system/system.admin.css?lrjjfv

304 Not Modified

localhost

1.3 KB

GET calendar_multiday.css?lrjjfv
http://localhost/www/drupal/sites/all/modules/calendar/css/calendar_mult...

304 Not Modified

localhost

3.8 KB

1ms

GET comment.css?lrjjfv
http://localhost/www/drupal/modules/comment/comment.css?lrjjfv

304 Not Modified

localhost

142 B

1ms

GET date.css?lrjjfv
http://localhost/www/drupal/sites/all/modules/date/date_api/date.css?lrjjfv

304 Not Modified

localhost

1.4 KB

GET datepicker.1.7.css?lrjjfv
http://localhost/www/drupal/sites/all/modules/date/date_popup/themes/dat...

304 Not Modified

localhost

907 B

1ms

GET field.css?lrjjfv
http://localhost/www/drupal/modules/field/theme/field.css?lrjjfv

304 Not Modified

localhost

235 B

GET node.css?lrjjfv
http://localhost/www/drupal/modules/node/node.css?lrjjfv

304 Not Modified

localhost

109 B

1ms

GET search.css?lrjjfv
http://localhost/www/drupal/modules/search/search.css?lrjjfv

304 Not Modified

localhost

232 B

1ms

GET user.css?lrjjfv
http://localhost/www/drupal/modules/user/user.css?lrjjfv

304 Not Modified

localhost

698 B

GET forum.css?lrjjfv
http://localhost/www/drupal/modules/forum/forum.css?lrjjfv

304 Not Modified

localhost

345 B

1ms

GET views.css?lrjjfv
http://localhost/www/drupal/sites/all/modules/views/css/views.css?lrjjfv

304 Not Modified

localhost

309 B

GET ckeditor.css?lrjjfv
http://localhost/www/drupal/sites/all/modules/ckeditor/ckeditor.css?lrjjfv

304 Not Modified

localhost

369 B

GET ctools.css?lrjjfv
http://localhost/www/drupal/sites/all/modules/ctools/css/ctools.css?lrjjfv

304 Not Modified

localhost

252 B

1ms

GET panels.css?lrjjfv
http://localhost/www/drupal/sites/all/modules/panels/css/panels.css?lrjjfv

304 Not Modified

localhost

342 B

GET admin_menu.css?lrjjfv
http://localhost/www/drupal/sites/all/modules/admin_menu/admin_menu.css?...

304 Not Modified

localhost

1.4 KB

1ms

GET admin_menu.uid1.css?lrjjfv
http://localhost/www/drupal/sites/all/modules/admin_menu/admin_menu.uid1...

304 Not Modified

localhost

205 B

GET admin_menu_toolbar.css?lrjjfv
http://localhost/www/drupal/sites/all/modules/admin_menu/admin_menu_tool...

304 Not Modified

localhost

1 KB

1ms

GET shortcut.css?lrjjfv
http://localhost/www/drupal/modules/shortcut/shortcut.css?lrjjfv

304 Not Modified

localhost

648 B

GET reset.css?lrjjfv
http://localhost/www/drupal/themes/seven/reset.css?lrjjfv

304 Not Modified

localhost

1.3 KB

GET style.css?lrjjfv
http://localhost/www/drupal/themes/seven/style.css?lrjjfv

304 Not Modified

localhost

4.5 KB

1ms

GET jquery.js?v=1.4.4
http://localhost/www/drupal/misc/jquery.js?v=1.4.4

304 Not Modified

localhost

26.4 KB

1ms

GET jquery.once.js?v=1.2
http://localhost/www/drupal/misc/jquery.once.js?v=1.2

304 Not Modified

localhost

1 KB

1ms

GET drupal.js?lrjjfv
http://localhost/www/drupal/misc/drupal.js?lrjjfv

304 Not Modified

localhost

4.4 KB

GET overlay-child.js?v=1.0
http://localhost/www/drupal/modules/overlay/overlay-child.js?v=1.0

304 Not Modified

localhost

2.1 KB

1ms

GET fr_Wo6Flm5EvWZ5LrWB40TjJ45y1L1Zxo2zNsCKyrrzu3Q.js?lrjjfv
http://localhost/www/drupal/sites/default/files/languages/fr_Wo6Flm5EvWZ...

304 Not Modified

localhost

1.4 KB

GET panels.js?lrjjfv
http://localhost/www/drupal/sites/all/modules/panels/js/panels.js?lrjjfv

304 Not Modified

localhost

273 B

1ms

GET admin_menu.js?lrjjfv
http://localhost/www/drupal/sites/all/modules/admin_menu/admin_menu.js?l...

304 Not Modified

localhost

2.2 KB

1ms

GET admin_menu_toolbar.js?lrjjfv
http://localhost/www/drupal/sites/all/modules/admin_menu/admin_menu_tool...

304 Not Modified

localhost

379 B

GET system.js?lrjjfv
http://localhost/www/drupal/modules/system/system.js?lrjjfv

304 Not Modified

localhost

1.5 KB

1ms

GET jquery.ui.dialog.patch.js?lrjjfv
http://localhost/www/drupal/sites/all/modules/views/js/jquery.ui.dialog....

304 Not Modified

localhost

561 B

37 requests

71.9 KB

(64.8 KB à partir du cache)
2.28s

0 Démarrage
0 0 Recherche DNS
0 0 Connexion
0 1ms Blocage
0 1ms Envoi
+1ms 637ms Attente
+638ms 0 Réception
Firebug's log limit has been reached. 0 entry not shown. Préférences

Non, a priori pas d'erreurs (elles apparaissent en rouge quand il y en a).

Vous développez sous quel environnement ?

Pour que les URL simplifiées fonctionnent, il faut que Apache soit correctement configuré, avec mod_rewrite.

Je suis sous Apache avec Ubuntu 10.04, et j'ai bien lancé l'URL rewriting.

J'ai toutefois des soucis avec le module W3C... (voir plus loin)

En tout cas rien de changé côté test des URL : pas de case à cocher, pas de réaction particulière au test.

neeteex@neeteex-laptop:~/Bureau$ sudo a2enmod rewrite
Enabling module rewrite.
Run '/etc/init.d/apache2 restart' to activate new configuration!
neeteex@neeteex-laptop:~/Bureau$ /etc/init.d/apache2 restart
* Restarting web server apache2 [Thu Sep 15 11:32:06 2011] [warn] The ScriptAlias directive in /etc/apache2/conf.d/w3c-markup-validator.conf at line 1 will probably never match because it overlaps an earlier ScriptAlias.
[Thu Sep 15 11:32:06 2011] [warn] The ScriptAlias directive in /etc/apache2/conf.d/w3c-markup-validator.conf at line 2 will probably never match because it overlaps an earlier ScriptAlias.
[Thu Sep 15 11:32:06 2011] [warn] The Alias directive in /etc/apache2/conf.d/w3c-markup-validator.conf at line 3 will probably never match because it overlaps an earlier Alias.
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
[Thu Sep 15 11:32:06 2011] [warn] The ScriptAlias directive in /etc/apache2/conf.d/w3c-markup-validator.conf at line 1 will probably never match because it overlaps an earlier ScriptAlias.
[Thu Sep 15 11:32:06 2011] [warn] The ScriptAlias directive in /etc/apache2/conf.d/w3c-markup-validator.conf at line 2 will probably never match because it overlaps an earlier ScriptAlias.
[Thu Sep 15 11:32:06 2011] [warn] The Alias directive in /etc/apache2/conf.d/w3c-markup-validator.conf at line 3 will probably never match because it overlaps an earlier Alias.
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
(13)Permission denied: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
[fail]

Je ferais un essai en commentant les directives qui posent problème.

Et la commande de redémarrage devrait être :

sudo /etc/init.d/apache restart non ?

sinon ça fait : (13)Permission denied : make_sock : could not bind to address 0.0.0.0:80

J'ai commenté les directives du validateur W3C. Ca ne doit pas trop influencer je pense, en tout cas j'en suis toujours au même point.

C'est bien le sudo qui manquait, j'ai pas trop réfléchi en lisant la doc ubuntu.fr :

neeteex@neeteex-laptop:~$ sudo /etc/init.d/apache2 restart * Restarting web server apache2 apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
... waiting apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
[ OK ]

Je suis fixé : là n'est pas le problème :-/

Du coup je ne sais plus par où prendre le problème. Dans l'immédiat il semble bénin (404 sur des pages admin), à terme je crains qu'il ne m'apporte des tracas plus important (404 un peu partout sur le site...)

Bon, j'ai tenté le coup sur une installation minimale où aucun module complémentaire n'a été ajouté : tout pareil !

Je me demande bien où sont ces fameuses cases à cocher/décocher, car je ne les trouve pas...

J'ai une piste mais besoin d'aide : j'ai utilisée l'astuce présentée ici : http://doc.ubuntu-fr.org/tutoriel/lamp_repertoires_de_travail_dans_home

Du coup j'ai une redirection de ce type :

Alias /localhost/ "/home/neeteex/www"

Quelle doit être mon instruction RewriteBase sachant que mon site est sur /home/neeteex/www/drupal ?

J'ai essayé successivement

RewriteBase /home/neeteex/www/drupal/

et

RewriteBase /home/neeteex/www/

Sans succès...

D'abord, il ne faut pas mettre de trailing slash sur les directives RewriteBase, donc on aurait plutôt quelque chose comme :

RewriteBase /home/neeteex/www/drupal

Mais vous vous simplifieriez beaucoup la vie en laissant Drupal à la racine, sur un vhost dédié par exemple.

Il me semble que vous n'avez pas besoin de retoucher la conf Apache sur Ubuntu.

Si vous voulez ajouter des directives Apache pour votre installation de Drupal, elle devraient l'être dans le .htaccess du répertoire racine de l'installation, dans votre cas /home/neeteex/www/drupal/.htaccess.

Et bien merci : au final j'ai désinstallé tout apache, puis ré-installé apache2, mis en place 2 virtual hosts, durant la manip il est apparu ce conseil:

Si vous utilisez Drupal et le module apache mod_rewrite, vous devez corriger le fichier default dans /etc/apache2/sites-available qui est mentionné ci-dessus, et remplacer toutes les occurences

AllowOverride None

par

AllowOverride All

j'avais lu ailleurs qu'un réglage plus fin était possible (AllowOverride All seulement pour le sous-domaine considéré) mais il faut croire que je ne m'y était pas pris de la bonne façon.

Je vais pouvoir attaquer les choses sérieuses à présent !

Ah oui, j'avais oublié celui-là. Un classique pourtant.

Une observation : c'est bien pour travailler en local, mais il est conseillé de limiter un peu plus le pouvoir des .htaccess en production, à cause d'éventuels risques de sécurité.