2009-06-28 49 views
0

を助ける:htaccessファイルのURL書き換え、私は次の書き換えのURLを持っている

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

# Rewrite all other URLs 
RewriteRule ^(.*)$ index.php?page=$1 [PT,L] 

今、私はURLがmysite.com/abcのようなものであれば、それはそれとその中にすべてのものを無視するべきであると、例外を追加しますまた、 mysite.com/abc/dfgsもこの書き換えから除外されるべきです。

どうすればこの問題を解決できますか?

答えて

2

、あなたは

RewriteEngine Off 

とそこに別の.htaccessファイルを置くことができます要求されたパスがTに "/ ABC"

で始まる場合

RewriteCond %{REQUEST_URI} !^/abc 

は書き換えません。 EST(あなたはもちろんのライブ環境で編集する必要があるということではない、これは純粋に架空のです:-))通常のブラウザのためのサイトをめちゃくちゃにせずにルールを書き換え、私は次のように非常に有用見つけた:

RewriteCond %{REMOTE_ADDR} 12.34.56.78 # <-- where that's your IP address 
+0

この助けて頂きました。私は、私のクライアントがファンキーな.htaccessを使ってルートにあるブログを持っていて、その後サポートフォルダにKayako Supportを持っているケースがありました。私はKayakoソフトウェアが本当に不安定で、403禁止されたエラーを投げていたので、そのフォルダの.htaccessルールを無効にすることができました。 – Volomike

0

URIにabcが含まれている場合は、これを書き換えないでください。これはまさにあなたが望むものかもしれません。あなたの質問を編集していない場合。/ABCは既存のディレクトリがある場合、それはあなたが(それが存在するかどうか)書き換えないようにしたい本当にただ1つの文字列なら

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

#Rewrite ONLY if the REQUEST does NOT contain abc 
RewriteCond %{REQUEST_URI} !abc 

# Rewrite all other URLs 
RewriteRule ^(.*)$ index.php?page=$1 [PT,L]