从mod_rewrite规则中排除所有图像

时间:2014-09-12 20:46:29

标签: image .htaccess mod-rewrite rule

我是一名htaccess新手,不断学习,并且非常感谢任何有关我认为快速和快速的帮助。对于任何有经验的htaccess人来说都很容易解决。

背景:

我有一个Wordpress站点,其类别slug和类别名称与我在站点根目录中有图像的一些目录和子目录相同。如果目录路径与类别slug和类别名称匹配,则Wordpress在尝试查看类别slug和类别名称时将默认返回403。我设法通过这个出色的指南解决了这个问题: http://www.narga.net/how-to-solve-403-forbidden-wordpress-permalink-clash-folder-name/

在我的htaccess中实现这段代码:

# Fix 403 errors on existing directories; WordPress overrides.
RewriteCond %{REQUEST_URI} ^/(example)/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . /index.php [L]

这个问题解决了。

问题:

然而,这引起了另一个问题。我一直使用Redirects for Wordpress类别,然后重定向具有类别slug和类别名称的匹配目录的图像,导致图像链接断开。根据我能够理解的内容,我需要从上面的重写中排除以图像格式.gif .jpg .png结尾的任何请求,并且图片应该显示?

根据我的理解,我应该在上面的代码中添加这样的内容(请参阅链接上的最后一篇文章): htaccess redirect but exclude images

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

作为一个新手,我真的不知道如何更改/添加到上面的代码,以便正确实现它。所以如果有人能够如此友善地向我展示,那真的很友好。

我的完整htaccess文件:

<files .htaccess>
order allow,deny
deny from all
</files>

<files wp-config.php>
order allow,deny
deny from all
</files>

Options All -Indexes
DirectoryIndex index.php index.html index.htm

# 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]

# Fix 403 errors on existing directories; WordPress overrides.
RewriteCond %{REQUEST_URI} ^/(example)/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

<Files 403.shtml>
order allow,deny
allow from all
</Files>

Redirect 302 /example/specimen/ /

0 个答案:

没有答案