.htaccess - 如何告诉 wordpress 忽略目录

.htaccess - 如何告诉 wordpress 忽略目录

我的 wordpress 网站有像 这样的 SEO 友好网址http://mysite.com/mywebpage。我在我的/var/www目录中安装了 wordpress。

但是,在我的服务器上,我还有一个名为的目录,/var/www/mywebpage因为该目录包含诸如/var/www/mywebpage/product1.jpg等文件/var/www/mywebpage/product2.jpg......

现在每次我访问http://mysite.com/mywebpage,浏览器都会给我一个 403 Forbidden 错误,因为如果存在与 wordpress 页面同名的目录,则该目录优先。我还有一些 Web 目录也存在这个问题。

我如何编辑我的 .htaccess 文件以使 wordpress 页面优先于以下三个目录:/var/www/mywebpage/var/www/myproductpage/var/www/mygraphics

但是,如果有人去http://mysite.com/mywebpage/product1.jpg,我希望他们能够看到物理图像文件。

这是我当前的 Wordpress .htaccess。

# WORDPRESS Rules below, DO NOT EDIT!
#uploaded files
RewriteRule ^(.*/)?files/$ index.php [L]
RewriteCond %{REQUEST_URI} !.*wp-content/plugins.*
RewriteRule ^(.*/)?files/(.*) wp-content/blogs.php?file=$2 [L]

# add a trailing slash to /wp-admin
RewriteCond %{REQUEST_URI} ^.*/wp-admin$
RewriteRule ^(.+)$ $1/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule . - [L]
RewriteRule  ^([_0-9a-zA-Z-]+/)?(wp-.*) $2 [L]
RewriteRule  ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]

RewriteCond %{REQUEST_FILENAME} !-f [OR]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [L]

<IfModule mod_security.c>
<Files async-upload.php>
SecFilterEngine Off
SecFilterScanPOST Off
</Files>

答案1

最简单的答案(从长远来看更易于维护,无需更多mod_rewritemod_alias黑魔法)实际上是不要将目录命名为与 seo-friendly-links 相同的名称。对这些目录使用诸如mywebpage_images、等名称。myproductpage_images

相关内容