通过创建与(虚拟)WordPress URL相同的物理目录,您已经创建了冲突。URL需要通过WP路由,但默认的前端控制器(.htaccess
上面显示的代码)特别禁止重写物理目录。
出现403禁止错误是因为您没有目录索引文档(例如。index.html
或index.php
) 在/product
子目录。(你也不想要,以防万一。)
根据您的站点,您只需删除前端控制器中的目录检查即可。例如(刚刚注释掉):
RewriteEngine On
RewriteBase /
RewriteRule ^index\\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
#RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
这意味着对任何物理目录(仅是裸目录)的请求将无法访问,它们将通过WP传递。然而,这可能与您的
/product/documentation/
URL。在这种情况下,可以在上述指令之前添加如下内容:
RewriteRule ^product/documentation/$ /product/documentation/index.html [L]
(否则,如果请求任何物理目录,您将获得WordPress 404,其中URL在WP中不存在。)
或者,您可以显式地为这一个子目录创建一个例外,并通过WP手动路由它(即将其重写为index.php
). 例如,在现有前端控制器之前(文件顶部),添加以下内容:
RewriteRule ^product/?$ /index.php [L]