Domanda

Ho avuto alcuni problemi con il mio Wordpress installare mi permette di sottodirectory di accesso, in particolare un CodeIgniter installare a mydomain.com/codeigniter. So che tecnicamente dovrebbe funzionare bene così com'è e riconoscere le cartelle in cui vengono creati. Tuttavia, questo non sta accadendo. Ho il sospetto che abbia qualcosa a che fare con un plugin, ma ho provato disabilitando tutti loro e il problema si verifica ancora (mi indirizza alla pagina di Wordpress 404).

ho trovato una soluzione nel frattempo, tuttavia. Se creo un sottodominio, qualcosa cambia e tutto funziona come dovrebbe, accedendo alla cartella sia attraverso il percorso diretto e tramite il nome di sottodominio.

Qualsiasi aiuto? Ho provato tutti i tipi di cose divertenti con i miei file .htaccess in entrambe le directory, ma cambiando loro non fare nulla.

Aggiornamento: Ecco il .htaccess Wordpress nella cartella principale:

DirectoryIndex index.php index.htm index.html
AddHandler application/x-httpd-php52 .php .php5 .php4 .php

# BEGIN WordPress

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/?codeigniter/
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

E il file .htaccess nella CodeIgniter / CodeIgniter / sottodirectory.

DirectoryIndex index.php index.htm index.html
AddHandler application/x-httpd-php52 .php .php5 .php4 .php

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /codeigniter
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L,QSA]
</IfModule>
È stato utile?

Soluzione

Anche se i file statici e le directory funzionano con un'installazione mod_rewrite'd wordpress nella root server che potrebbe essere necessario per escludere sottodirectory CodeIgniter da quella scaletta mod_rewrite.

È possibile farlo mettendo un file .htaccess aggiuntivo nella directory CodeIgniter e mod_rewrite disabilitare in là:

<IfModule mod_rewrite.c> 
RewriteEngine off
</IfModule>

correlati: apache - mod_rewrite Disattiva per sottodirectory

Questa normalmente fa il lavoro per me. Ma può essere meno banale nel caso in cui sottodirectory ha bisogno di una configurazione mod_rewrite su di esso il proprio (come alcuni PHP Frameworks necessità).

Per capire come le opere di configurazione di Apache, consulta dei file di configurazione (Apache manuale) e AllowOverride direttiva (Apache Manuale) .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a wordpress.stackexchange
scroll top