2010-02-16 5 views
1

J'ai un fichier .htaccess dans le dossier des « services » dans mon site et doivent donner deux urls suivantesest si d'autres conditions disponibles sur htaccess?

contenu

de htaccess

#------------------------ 
<IfModule mod_rewrite.c> 
    RewriteEngine on 
    RewriteRule ^(.*)$ index.php?n=$1 [L,QSA] 
</IfModule> 
$------------------------- 

1. http://www.mysite.com/services/seo-work 
2. http://www.mysite.com/services/online-editor 

La 1ère URL réécrite en utilisant htaccess comme http://www.mysite.com/services/index.php?s=seo-work Ceci est fonctionne correctement. mais quand je télécharge un autre fichier online-editor.php sur le même dossier "services", il ne fonctionne pas

alors comment la première URL devrait montrer la page en utilisant index.php? s = seo-work si la page "online-editor.php" est introuvable dans le répertoire sinon online-editor.php shoud show. Je représentais mon problème programatically ci-dessous

if(IsFoundPageInDirectory(online-editor.php)) 
{ 
    GoToUrl(http://www.mysite.com/services/online-editor.php) 
} 
else 
{ 
    GoToUrl(http://www.mysite.com/services/index.php?s=seo-work) 
} 

S'il vous plaît aidez-moi à sortir de ce problème merci à l'avance votre réponse

Répondre

0

le fichier par défaut de wordpress Check. Je pense qu'il vous manque des contrôles pour les fichiers et répertoires existants. Quelque chose comme

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

merci pour votre réponse. Son fonctionnement, mais je devrais être inclus le .php sur le fichier .. Je dois éliminer .php aussi de l'url – Haris

+0

Essayez d'activer MultiViews. – Eimantas

0

Derniers J'ai trouvé réponse .. merci pour la réponse de poing pour me conduire à obtenir une réponse

<IfModule mod_rewrite.c> 
    RewriteEngine on 
    RewriteCond %{REQUEST_FILENAME}\.php -f 
    RewriteRule ^([^/]+)/$ $1.php 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule ^(.*)$ index.php?n=$1 [L,QSA] 
</IfModule> 
1

Il n'y a pas vraiment les conditions if/else avec ifModule dans la configuration Apache, mais vous pouvez utiliser la essai dans 2 cas: !module & module, comme celui-ci:

<IfModule !module> 
    # some directives 
</IfModule> 

<IfModule module> 
    # other directives 
</IfModule> 
Questions connexes