apache返回状态代码403,但正常服务于页面

apache返回状态代码403,但正常服务于页面,apache,Apache,我正在服务器上建立一个网站,在那里我既不能访问apache conf文件,也不能访问apace日志。。只有.htaccess。我想将不同的路由映射到服务器上的不同路径 这是my.htaccess的内容: RewriteRule ^css/(.*) website/v1/project_files/css/$1 [L] RewriteRule ^js/(.*) website/v1/project_files/js/$1 [L] RewriteRule ^media/(.*) website/v1

我正在服务器上建立一个网站,在那里我既不能访问apache conf文件,也不能访问apace日志。。只有.htaccess。我想将不同的路由映射到服务器上的不同路径

这是my.htaccess的内容:

RewriteRule ^css/(.*) website/v1/project_files/css/$1 [L]
RewriteRule ^js/(.*) website/v1/project_files/js/$1 [L]
RewriteRule ^media/(.*) website/v1/project_files/media/$1 [L]
RewriteRule ^certs/(.*) website/v1/project_files/certs/$1 [L]
RewriteRule ^errors/(.*) website/v1/project_files/errors/$1 [L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule .* website/v1/index.php [L]
php正常执行,但响应代码为403。我用
RewriteRule.*website/v1/index.php[L]
更改了行
RewriteRule.*website/v1/index.html[L]
(并创建了index.html),响应代码仍然是403(返回的内容是正确的)

这个错误的原因是什么?我希望我能告诉你错误日志是怎么说的,但我没有访问权限。服务器正在运行apache 2.4.43


更新:,如果我删除所有重写和条件,只保留
重写规则。*website/v1/index.php[L]
,那么它会正确执行php,提供状态代码200,但当然,它不会提供任何css、媒体和js文件,因为它找不到它们。

问题很可能是在您的php代码中,而不是apache中。最有可能的是,在输出php头403的某个地方,upI将.php文件替换为.html,其中只包含一个“it works”字符串。服务器仍然以403响应并提供“It works”字符串,然后检查文件夹权限和youjr apache config中的资源权限和/或其他可能干扰我的更新的Htaces,仅删除一些重写会触发200状态代码。还检查了所有文件夹和文件权限。755在所有这些问题上,最有可能的问题是php代码,而不是apache。最有可能的是,在输出php头403的某个地方,upI将.php文件替换为.html,其中只包含一个“it works”字符串。服务器仍然以403响应并提供“It works”字符串,然后检查文件夹权限和youjr apache config中的资源权限和/或其他可能干扰我的更新的Htaces,仅删除一些重写会触发200状态代码。还检查了所有文件夹和文件权限。全部是755