質問

私は、次のリライト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また、この書き換えから除外すべきである。

私はこれを実現するにはどうすればよい?

役に立ちましたか?

解決

/ ABCは既存のディレクトリである場合は、

は、

とそこにある別の.htaccessファイルを置くことができます
RewriteEngine Off  

は、それは本当にあなたが(それが存在するかどうか)書き換えないようにするだけで1つの文字列だ場合、

RewriteCond %{REQUEST_URI} !^/abc  

要求されたパスは、「/ ABC」で始まる場合は書き換えないでしょう。

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

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

他のヒント

URIは、ABCが含まれている場合は、

この書き換え避けるべきです。これは、またはあなたが望む正確に何であってもなくてもよいです。そうでない場合は、あなたの質問を編集します。

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]
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top