2010-08-23 3 views
0

J'ai quelques questions sur la syntaxe de la réécriture du module. je voudrais savoir comment écrire une règle pour ne pas inclure/contenir un fichier?A propos de la syntaxe de réécriture du module

Par exemple:

structure Répertoires:

  • /
  • /home.php
  • /profile.php
  • /pages
  • /pages/index. php
  • /pag es/.htaccess

À propos du contenu /pages/index.php:

<?php include_once "../home.php" ?> 

À propos du contenu /home.php:

<a href="profile.php">Profile</a> 

donc: je voudrais écrire un .htaccess dans le répertoire des pages, et faites le lien hypertexte (profile.php) est correct lorsque l'utilisateur clique sur le texte du profil.

RewriteEngine On 
RewriteBase /pages2 

RewriteRule ^(images|css|js|plugins)/(.*) http://localhost/$1/$2 

# if end with .php ext and file name not index.php then redirect to parent directory 
RewriteCond %{SCRIPT_FILENAME} .php$ 
RewriteCond %{SCRIPT_FILENAME} !index.php$ ## not work ? 
RewriteRule ^(.*) http://localhost/$1 

Dans ce cas, je ne peux pas changer le contenu du fichier de chemin racine.

+0

Pour commencer, "RewriteRule% {} SCRIPT_FILENAME! Index.php $ [NC]" devrait vraiment être un RewriteCond à la place, et [NC] devrait être retiré. – SirDarius

+2

Pas clair sur ce que vous demandez !! – Vijay

+0

vous devez répondre d'abord, quel est le but d'un tel fichier .htaccess impair –

Répondre

0

lol vous ne avez pas besoin de règles :) juste en font

<a href="/profile.php">Profile</a> 
+0

Mais je ne peux pas changer le contenu du fichier racine. – Zeu

+0

@Zeux vous n'avez pas besoin de changer la racine de quoi que ce soit. Écris juste comme ça. C'est juste une adresse de votre fichier profile.php. Vous l'avez écrit vous-même de cette façon dans votre question: '/ profile.php'. Et c'est vrai addres. JUSTE UTILISER –

+0

semble que le répertoire "/ pages" est le webroot de son site Web, par conséquent, /profile.php n'est pas accessible de cette façon. Pour être honnête, le tout semble être un design artificiel, pour moi. – SirDarius