web-dev-qa-db-fra.com

Drupal navigation renvoie toujours une erreur 404

On m'a donné un site Drupal que je dois faire fonctionner.

J'ai Apache/Drupal/MySQL opérationnel et j'ai créé un nouveau .conf fichier dans les sites actifs et définissez l'emplacement du document sur/var/www/html /

J'ai modifié mon fichier d'hôtes pour avoir une entrée pour

127.0.0.1 samplesite.com

Si je navigue vers samplesite.com/index.php Je vois l'index du site. Jusqu'ici tout va bien. Tout est stylé, et comme je vois du contenu authentique, je dois frapper la base de données

Quel que soit le lien sur lequel je clique sur cette page, je reçois un 404 error. (La recherche dans les fichiers journaux est une erreur 404 523 si cela a une incidence.)

J'ai ensuite découvert l'ID utilisateur admin (à l'aide de drush), réinitialisé le mot de passe et effacé tous les caches. Toujours le 404 errors.

Si je vais à samplesite.com/user ou samplesite.com/admin, J'obtiens toujours l'erreur 404, pas une page de connexion administrateur.

Comme il s'agit d'un site existant et qu'il fonctionne en ligne, je blâme quelque chose dans ma configuration/configuration (étant donné que l'URL sur un lien en échec est similaire à samplesite.com/about, je suppose que c'est dans la configuration de navigation, mais maintenant Je suis coincé).

Existe-t-il un module de réécriture d'URL Apache (ou drupal one?) Qui a besoin d'une configuration? Ou quelqu'un peut-il suggérer quelque chose d'autre que j'ai peut-être oublié dans Apache/drupal configuration?

J'ai maintenant la ligne $ base-url = 'samplesite.com'; dans mon fichier settings.php, et aucune des autres URL ne fonctionne. Cependant, il accepte que je suis connecté en tant qu'administrateur car j'ai un menu d'administration supplémentaire en haut de la page. (aucun des liens ne fonctionne cependant) Curieusement, si je désactive le wifi, la page ne se charge pas du tout (je n'aurais pas pensé que le wifi activé ou désactivé affecterait localhost)

Ok, mon correctif est venu quand j'ai suivi ce fil https://www.drupal.org/node/1572984

Je devais ajouter ce qui suit.

<Directory /var/www/html>
   RewriteEngine on
   RewriteBase /
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
</Directory>

Cependant, je ne suis arrivé ici que grâce à l'aide que j'ai reçue en cours de route, je pense que ce n'était que la pièce manquante.

4
Matt

Option 1 - RewriteRule et RewriteBase

Vérifiez si vous pouvez utiliser une URL contenant ?q=user ou ?q=admin. Reportez-vous à ma réponse à la question " 7.26/admin,/user introuvable sur Localhost " (qui est à propos de RewriteRule) pour plus de détails à ce sujet.

Dans cette réponse, il y a un lien vers la question sur " drupal /? Q = l'utilisateur travaille mais/l'utilisateur ne fonctionne pas ", pour lequel la réponse acceptée de cette question fournit plus de détails sur le réglage RewriteBase dans votre .htaccess.

Option 2 - Option d'administration "Nettoyer les URL"

Si vous pouvez utiliser le ?q=adminURL, puis essayez de naviguer vers /index.php?q=admin/config/search/clean-urls pour vérifier l'état actuel de nettoyer les URL (si elle est activée ou désactivée). Assurez-vous que "nettoyer les URL" est activé.

Reportez-vous à " Nettoyer l'URL mène à une URL en double après la migration vers un autre hébergement " pour plus de détails à ce sujet.

Option 3 - base_url

Assurez-vous que la valeur de "base_url" est définie correctement (dans votre settings.php ).

Option 4 - Fichier .htaccess

Vérifiez si le fichier .htaccess est présent dans le répertoire où Drupal réside (et/ou qu'il n'est pas incomplet ou corrompu). S'il est manquant, téléchargez-le. Si nécessaire, copiez-le à nouveau à partir du fichier d'archive "Drupal" (.Zip ou .tar) de Drupal.org à nouveau, et utilisez simplement ce nouveau fichier .htaccess.


Remarque (à propos de votre " L'URL? Q = admin ne m'a pas demandé de me connecter" réponse) Vérifiez si vous rencontrez le même problème en utilisant un autre navigateur. Si avec un autre navigateur cela fonctionne, alors cette partie pourrait être un problème de cookie (supprimez le cookie dans le navigateur où vous avez le problème, et réessayez).

6
Pierre.Vriens

Selon ce lien et mes expériences, je pense que c'est parce que RewriteBase incorrect dans .htaccess fichier, une solution simple et simple est le téléchargement brut drupal de drupal.org (ou si vous l'avez déjà téléchargé)) repalce .htacess fichier depuis celui-ci vers votre répertoire racine actuel.

1
Yusef