我的 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_rewrite
或mod_alias
黑魔法)实际上是不要将目录命名为与 seo-friendly-links 相同的名称。对这些目录使用诸如mywebpage_images
、等名称。myproductpage_images