2017-02-20 6 views
1

htaccessにスラッシュURL以外のすべてのURLをスラッシュURLにリダイレクトするルールがあります。しかし、何らかの理由でこのルールの影響を受ける2つの.png URLを除外したいと思います。htaccessルールから2つのpng画像を除外する

この広告http://agora.encreation.com/wp-content/uploads/portfolio-thumb-alliance.jpg

など、この問題を持っていないようhttp://agora.encreation.com/wp-content/uploads/portfolio-immobiliere-pujol-thumb.jpg

しかし、他の画像があるなど、いくつかの.png画像にスラッシュだから基本的に私は.PNGを除外したいと.jpgスラッシュを追加するルールのURL。ここで

は私のhtaccessです:

# Ensure all URLs have a trailing slash. 
 
RewriteBase/
 
RewriteCond %{REQUEST_FILENAME} !-f 
 
RewriteCond %{REQUEST_URI} !(.*)/$ 
 
RewriteRule ^(.*)$ http://agora.encreation.com/$1/ [L,R=301] 
 

 
# BEGIN WordPress 
 
<IfModule mod_rewrite.c> 
 
RewriteEngine On 
 
RewriteBase/
 
RewriteRule ^index\.php$ - [L] 
 
RewriteCond %{REQUEST_FILENAME} !-f 
 
RewriteCond %{REQUEST_FILENAME} !-d 
 
RewriteRule . /index.php [L] 
 
</IfModule> 
 

 
# END WordPress

おかげ

フロリアン

+1

あなたはすでに 'RewriteCond%{REQUEST_URI}!(。*)/ $'を使っているようです。終わりに向かって点があるものは除外されます。代わりに '!\。(jpg | png)$'のようなものを使ってより具体的にすることができます。 – Eamonn

+1

[次の.htaccess書き換えルールから特定のファイルタイプを除外する方法]の複製がありますか?(http://stackoverflow.com/questions/5494542/how-to-exclude-specific-file-types-from-the-following -htaccess-rewrite-rule) – Eamonn

答えて

1

条件

RewriteCond %{REQUEST_FILENAME} !-f 

はすでにの既存のイメージを処理します。最初に述べたURL .../portfolio-immobiliere-pujol-thumb.jpgは存在しないため、リダイレクトされます。 2番目のイメージ.../portfolio-thumb-alliance.jpgは、既存のイメージであり、書き換え条件によって除外されるため、影響を受けません。

すべての画像リクエストを除外するには、対応するファイルが存在するかどうかにかかわらず、既に提案されている@Eamonnとして別の条件を追加する必要があります。

RewriteCond %{REQUEST_URI} !\.(jpg|png)$ [NC] 
+0

ありがとう、それはトリックでした! – Florian

関連する問題