如何让WordPress站点根目录下的public文件夹可公开访问?
解决WordPress public文件夹文件404问题
你的问题根源在于当前的.htaccess规则会把所有未被匹配的请求转发到WordPress的index.php,导致public文件夹的请求被WordPress路由接管,最终返回404错误。
修改.htaccess文件,添加一条规则放行public文件夹的所有请求即可解决:
RewriteEngine On RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteBase / # 新增规则:直接放行public文件夹下的所有请求 RewriteRule ^public/ - [L] RewriteRule ^index\.php$ - [L] # add a trailing slash to /wp-admin RewriteRule ^wp-admin$ wp-admin/ [R=301,L] RewriteCond %{REQUEST_FILENAME} -f RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^ - [L] RewriteRule ^(wp-(content|admin|includes).*) $1 [L] RewriteRule ^(.*\.php)$ $1 [L] RewriteRule . index.php [L]
关键说明
- 新增的
RewriteRule ^public/ - [L]规则会匹配所有以public/开头的请求,-表示不对请求做任何修改,[L]标记表示停止后续规则处理,直接让服务器读取对应文件。 - 权限方面,777权限存在安全风险,建议将public文件夹权限改为755,文件夹内文件权限改为644,既保证正常访问又避免安全隐患。
内容的提问来源于stack exchange,提问作者digitalagency
相关产品推荐
相关产品推荐

