2010-04-18 14 views
5

Abbiamo una installazione WP nella root del nostro server e la sua esecuzione è ottima .. ma, abbiamo appena installato un'altra app in un sottodominio. Ora, posso visualizzare l'index.php di quell'app ma non posso farci nulla. Le regole di htaccess nella root (dall'installazione di base di WP) stanno effettuando le richieste.Wordpress htaccess nella root che sovrascrive htaccess nel sottodominio. L'app sottodominio non funziona ora

Quindi, come eliminare il file htaccess di WP dall'effettuare il sottodominio?

Ecco il contenuto htaccess per la radice (WP installazione):

<IfModule mod_rewrite.c> 
RewriteEngine On 
# BEGIN WordPress 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
# END WordPress 
</IfModule> 

E per la .htaccess nel sottodominio:

RewriteEngine on 
RewriteCond $1 !^(index\.php|css|stylesheets|js|images|user_guide|favicon\.ico|robots\.txt) 
RewriteRule ^(.*)$ /index.php/$1 [L] 

ho cercare in tutto il mondo on-line e ho provato un paio di campioni Ho trovato ... niente ha funzionato.

Qualsiasi aiuto è molto apprezzato! Grazie

UPDATE: Sembra che forse Wordpress non è il colpevole .. per curiosità, ho tolto tutte le righe nel file .htaccess WP .. e l'applicazione nel sottodominio non era ancora lavorando. La sua regola di riscrittura deve essere errata ..

Quindi, è la seconda regola di riscrittura che non funziona. Se scrivo /index.php?about allora posso vedere la pagina about .. ma dovrebbe essere visualizzata andando a:/about

risposta

4

WP è anche il colpevole (hai due problemi).

Posso risolvere il primo problema .htaccess perché WP è prevedibile. Si vuole mettere questo prima sezione BEGIN WordPress:

RewriteRule ^subdir-name/.*$ - [PT] 

che cattura eventuali richieste al tuo subdir e lo passa attraverso (PT) in modo che non venga dirottato da WordPress.

Il problema nel secondo .htaccess è che sembra presupporre che si trovi ancora nella directory principale. Per questo, non posso essere sicuro di non vedere il layout della tua app, ma il/before index.php potrebbe essere sbagliato. Sei sicuro che i percorsi nel secondo file corrispondano al nuovo layout dei tuoi file?

+1

Eccellente .. grazie. Poco prima che avessi visto la tua risposta (non l'ho ancora testata) ho continuato a provare tutto quello che ho letto online e questo sembra funzionare per qualsiasi sotto-directory devo funzionare correttamente: # roba da lasciar passare (ignorare) RewriteBase/ RewriteCond% {REQUEST_URI} "/ sub-dir1 /" [OR] RewriteCond% {REQUEST_URI} "/ sub = dir2 /" RewriteRule (. *) $ 1 [L] – revive

+0

Sì, è possibile utilizzare RewriteConditions. Alcune persone hanno dei file .htaccess molto complicati (il che può essere una buona cosa, sono migliori per gestire molti tipi di cose rispetto al trattamento di alcune persone) e usare RewriteConds sarà più complesso se si hanno molti blocchi diversi di regole da trattare. PT è il modo "giusto" per affrontarlo, sebbene non sia l'unico modo. –

+0

Grazie ancora! C'è comunque un punto per questa risposta: non posso votare fino a 15 punti !!! NOIOSO ! – revive

1

Um ... dovrebbe funzionare? Per sottodirectory "ufficio" - applausi :-)

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteRule ^office/.*$ - [PT] 
# BEGIN WordPress 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
# END WordPress 
</IfModule> 
Problemi correlati