2012-04-05 4 views
12

ファイルまたはディレクトリが存在する場合、htacessファイルを編集して書き換えルールをスキップしていますが、ファイルが存在する場合はURLを別のものに変更します。なぜこれが起こっているのか分かりません。ここに私のhtaccessファイルがあります。ファイルまたはディレクトリが存在する場合、RewriteCondを使用してルールをスキップします

RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} !-f [OR] 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^project/([^/\.]+)/?$ index.php?view=project&project=$1 [L] 
RewriteRule ^for/content/ag index.php?view=opening&section=ag [L] 
RewriteRule ^for/content/bus index.php?view=opening&section=bus [L] 
RewriteRule ^for/content/fcs index.php?view=opening&section=fcs [L] 
RewriteRule ^for/content/market index.php?view=opening&section=market [L] 
RewriteRule ^for/content/trade index.php?view=opening&section=trade [L] 
RewriteRule ^for/content/teched index.php?view=opening&section=teched [L] 
RewriteRule ^for/content/([^/\.]+)/?$ index.php?view=content_area&section=$1 [L] 

index.phpファイルとともに、/ project/ntiディレクトリが存在します。アドレスmywebsite.com/folder/project/ntiが入力されると、mywebsite.com/folder/project/nti/?view=project & project = ntiに変更されます。サンプルサイトがサブフォルダにあるテストサーバーでこれを適用していますが、実装すると、ルートWebサーバーフォルダーに配置されます。

ありがとうございました!

答えて

25

余分[OR]を削除し、このようなあなたのコードを持っている:

# If the request is not for a valid directory 
RewriteCond %{REQUEST_FILENAME} !-d 
# If the request is not for a valid file 
RewriteCond %{REQUEST_FILENAME} !-f 
# If the request is not for a valid link 
RewriteCond %{REQUEST_FILENAME} !-l 
RewriteRule ^project/([^/.]+)/?$ index.php?view=project&project=$1 [L,NC,QSA] 
関連する問題