2010-04-18 4 views
5

Nous avons une installation WP à la racine de notre serveur et son fonctionnement génial .. mais, nous venons d'installer une autre application dans un sous-domaine. Maintenant, je peux voir le index.php de cette application, mais je ne peux rien y faire .. Les règles htaccess dans la racine (à partir de l'installation de base WP) effectuent les requêtes. Alors, comment éliminer le fichier WP htaccess du sous-domaine?Wordpress htaccess dans root écrasant htaccess dans le sous-domaine. Sous-domaine application ne fonctionne pas maintenant

Voici le contenu htaccess pour la racine (installer WP):

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

Et pour le htaccess dans le sous-domaine:

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

J'ai la recherche partout en ligne et essayé échantillons couple J'ai trouvé .. rien n'a fonctionné.

Toute aide est grandement appréciée! Merci

MISE À JOUR: Il semble que peut-être Wordpress est pas le coupable .. par curiosité, je retire toutes les lignes dans le fichier .htaccess WP .. et l'application dans le sous-domaine ne fonctionnait toujours pas. Sa règle de réécriture doit être erronée.

Donc, c'est la deuxième règle de réécriture qui ne fonctionne pas. Si je tape /index.php?about alors je peux voir la page à propos .. mais il devrait afficher en allant à:/about

Répondre

4

WP est également le coupable (vous avez deux problèmes).

Je peux résoudre le premier problème .htaccess parce que WP est prévisible. Vous voulez mettre ce avant la section BEGIN WordPress:

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

qui saisit toutes les demandes à votre subdir et le transmet à travers (PT) de sorte qu'il ne soit pas détourné par WordPress.

Le problème dans votre deuxième .htaccess est qu'il semble supposer qu'il est toujours dans le répertoire racine. Pour celui-ci, je ne peux pas être sûr de voir la mise en page de votre application, mais le/index.php peut être faux. Êtes-vous sûr que les chemins du deuxième fichier correspondent à la nouvelle disposition de vos fichiers?

+1

Excellent .. merci. Juste avant que j'ai vu votre réponse (ne l'ai pas encore testé) j'ai continué à essayer tout ce que j'ai lu en ligne et cela semble fonctionner pour tous les sous-répertoires dont j'ai besoin pour fonctionner correctement: # stuff à laisser passer (ignorer) RewriteBase/RewriteCond% {REQUEST_URI} "/ sous-répertoire1 /" [OR] RewriteCond% {REQUEST_URI} "/ sub = dir2 /" RewriteRule (. *) $ 1 [L] – revive

+0

Oui, vous pouvez utiliser RewriteConditions. Certaines personnes ont cependant des fichiers .htaccess très compliqués (ce qui peut être une bonne chose, ils sont meilleurs pour gérer beaucoup de choses que PHP manipulant certaines personnes), et utiliser RewriteConds sera plus compliqué si vous avez beaucoup de différents blocs de règles à traiter. PT est la «bonne» façon de faire face à cela, mais pas le seul moyen. –

+0

Merci encore! Y a-t-il de toute façon un but pour cette réponse? Je ne peux pas voter avant d'avoir atteint 15 points !!! LAME! – revive

1

Euh ... cela devrait-il fonctionner? Pour le sous-répertoire "office" - acclamations :-)

<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> 
Questions connexes