web-dev-qa-db-fra.com

Permalink Issues en installant WordPress dans un sous-répertoire/sous-dossier

J'ai installé WP dans le sous-dossier /cms et il s'exécute en direct sans sous-dossier. Lorsque j'utilise /%postname%/ comme permalien, l'erreur 404 s'affiche sur mon site. Mon serveur pris en charge mod_rewrite.

Mon code

wp-config.php

define('WP_SITEURL', 'http://www.sitename.de/cms');
define('WP_HOME', 'http://www.sitename.de');

root

1) .htaccess

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /cms/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /cms/index.php [L]
</IfModule>

2) index.php

<?php
define('WP_USE_THEMES', true);
require('./cms/wp-blog-header.php');
?>  

/ cms

1) .htaccess

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

2) index.php

<?php
define('WP_USE_THEMES', true);
require('./wp-blog-header.php');
?>  

Merci de votre aide
Ogni

3
ogni

Ce que je fais généralement

  • Installez WP dans le sous-répertoire.
  • Ouvert permalien fixé requis permalien.
  • Ouvrir les paramètres-> lien général
  • Supprimer le nom du sous-répertoire de 'Adresse du site (URL)'
  • Couper les fichiers index.php et .htaccess du sous-répertoire et les coller à la racine
  • changez le code dans index.php comme vous l'avez fait.
  • Encore une fois accéder aux paramètres-> permalink enregistrer le formulaire

Terminé. Vous n'avez pas besoin d'index.php et du fichier .htaccess dans le sous-répertoire.

3
Manish

Débarrassez-vous du fichier .htaccess sous/cms, puis visitez Paramètres -> Permaliens pour vider vos règles de réécriture. Assurez-vous également que l'URL du site et l'URL de la page d'accueil sont correctement configurés dans la base de données (comme dans wp-config).

0
Rob Bennet

ma solution à ce problème, qui fonctionne toujours dans mon cas;

créez un fichier .htaccess dans le sous-répertoire et ajoutez le code qui est généré lorsque vous modifiez les liens permanents en bas de la page.

exemple du code généré;

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /kimco/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /kimco/index.php [L]
</IfModule>
0
Spaan

J'ai eu le problème semblable et le problème n'était pas dans le code mais était dans le dossier de httpd

  1. Ouvrez le fichier de configuration Apache situé dans/etc/httpd/conf/httpd.conf (ou Apache.conf pour Ubuntu).
  2. Modifiez AllowOverride None en AllowOverride All dans la directive de répertoire DocumentRoot, normalement
0
Ashish