web-dev-qa-db-fra.com

Fichier .htaccess manquant dans le répertoire d'installation de Wordpress

Cela se produit sur ma machine locale, Lubuntu 18.04 avec Apache2 et Php 7.2.15.

Étapes essayées:

  1. Activer les fichiers cachés

Aucun fichier .htaccess vu:

https://nimb.ws/4YJfDT

  1. Changer la structure du permalien pour tenter de forcer Wordpress pour créer un nouveau fichier .htaccess (si manquant). Recharger le gestionnaire de fichiers.

Pas de changement.

https://nimb.ws/eVkKb

  1. exécuter la commande de terminal whereis .htaccess

Beaucoup de dossiers répertoriés mais aucun dans la cible (/ var/www/html/wptest2 /). Il n'y a rien, même à l'intérieur /var au dessous de:

owner@G700:~$ whereis .htaccess
: /usr/bin/. /usr/sbin/. /lib/x86_64-linux-gnu/. /usr/lib/x86_64-linux-gnu/. 
/usr/lib/. /bin/. /sbin/. /etc/. /etc/.Java /lib/. /lib64/. /usr/games/. /usr/local/bin/. 
/usr/local/sbin/. /usr/local/etc/. /usr/local/lib/. /usr/local/games/. /usr/include/. 
/usr/local/. /usr/libexec/. /usr/share/. /opt/emby-server/bin/. 
/opt/dmmediaconverter/bin/. /opt/wine-stable/bin/. /opt/calibre/bin/. 
/home/owner/.nvm/versions/node/v12.4.0/bin/. /home/owner/.local/bin/. 
/snap/bin/. /usr/share/man/man4/. /usr/share/man/fi/. /usr/share/man/pl/. 
/usr/share/man/id/. /usr/share/man/pt_BR/. /usr/share/man/man6/. 
/usr/share/man/ja/. /usr/share/man/hr/. /usr/share/man/sv/. 
/usr/share/man/hu/. /usr/share/man/man1/. /usr/share/man/fr.ISO8859-1/. 
/usr/share/man/zh_CN/. /usr/share/man/man5/. /usr/share/man/zh_TW/. 
/usr/share/man/man8/. /usr/share/man/ca/. /usr/share/man/man3/. 
/usr/share/man/es/. /usr/share/man/nl/. /usr/share/man/da/. 
/usr/share/man/it/. /usr/share/man/uk/. /usr/share/man/ko/. 
/usr/share/man/fr.UTF-8/. /usr/share/man/sl/. /usr/share/man/man2/. 
/usr/share/man/pt/. /usr/share/man/de/. /usr/share/man/de.UTF-8/. 
/usr/share/man/cs/. /usr/share/man/sr/. /usr/share/man/man7/. 
/usr/share/man/fr/. /usr/share/man/pl.UTF-8/. /usr/share/man/vi/. 
/usr/share/man/ru/. /usr/share/man/tr/. /usr/share/info/. /usr/src/bcmwl-
6.30.223.271+bdcom/. /usr/src/linux-headers-4.15.0-58-
generic/.tmp_versions /usr/src/linux-headers-4.15.0-58-generic/.config 
/usr/src/linux-headers-4.15.0-58-generic/. /usr/src/linux-headers-4.15.0-
58/. /usr/src/linux-headers-4.15.0-62-generic/.tmp_versions 
/usr/src/linux-headers-4.15.0-62-generic/.config /usr/src/linux-headers-
4.15.0-62-generic/. /usr/src/linux-headers-4.15.0-62/.

Des idées ce qui se passe ici? L'installation wordpress fonctionne parfaitement. Je peux accéder au back-end, créer des publications et des pages, naviguer à travers le front-end, y compris en cliquant sur les liens vers de nouvelles pages, etc. J'ai développé un plugin de ce côté pour mois mais le fichier .htaccess ne semble pas exister.

Si quelqu'un me conseille de simplement créer manuellement un fichier .htaccess, ma question de suivi devient, comment puis-je vérifier que wordpress l'utilise? J'ai besoin de ce fichier pour entrer certaines règles mandatées par un JWT/Rest Api brancher.

Mise à jour

J'ai ajouté le code de fichier .htaccess suivant à un nouveau fichier à /var/www/html/wptest2/

https://wordpress.org/support/article/htaccess/

iersn // meant to causing a breaking change. But doesn't

# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress

Wordpress ne rompt pas avec la ligne ci-dessus.

Cela dit, mon installation a toujours été sur des liens laids car de jolis liens provoquent des erreurs non trouvées. Je crois que je n'ai pas cette configuration correctement et je suis sûr que ce problème .htaccess est un contributeur.

1
Sean Dezoysa

whereis n'est pas le bon outil pour trouver un fichier.

whereis - recherchez les fichiers binaires, source et page de manuel pour une commande

Vous feriez mieux d'utiliser find /var/www/html/wptest2/ -name .htaccess pour rechercher votre .htaccess.
Essayez de créer un nouveau .htaccess (touch /var/www/html/wptest2/.htaccess) et voyez si c'est possible.

1
moped

Il ne semble pas être là, mais dans le terminal, changez votre répertoire racine wp et listez le contenu avec l'indicateur -la.

cd /var/www/html/wptest2/
ls -la

Si nécessaire, créez un nouveau fichier .htaccess à partir de https://wordpress.org/support/article/htaccess/ ou dl WordPress et copiez le fichier.

Une fois que vous savez qu'il est en place, vous pouvez simplement le casser pour vous assurer qu'il est utilisé - ajoutez une ligne "oui j'aime les tacos" ou quelque chose.

Si votre fichier htaccess est présent et non utilisé, il peut s'agir de la configuration de vos hôtes virtuels. Assurez-vous que l'hôte possède la directive AllowOverride All.

 <VirtualHost *:80>
     ServerAdmin [email protected]
     DocumentRoot "/usr/docs/dummy-Host.example.com"
     ServerName dummy-Host.example.com
     ServerAlias www.dummy-Host.example.com
    <Directory "/usr/docs/dummy-Host.example.com">
            Options Indexes FollowSymLinks
            AllowOverride All
            Require all granted
    </Directory>
     ErrorLog "/private/var/log/Apache2/dummy-Host.example.com-error_log"
     CustomLog "/private/var/log/Apache2/dummy-Host.example.com-access_log" common
 </VirtualHost>
1
c0c0b33f