.htaccess RewriteRule同时执行两个操作

nwwlzxa7  于 2023-06-24  发布在  其他
关注(0)|答案(1)|浏览(99)

.htaccess文件有一个操作-如果用户被阻止,将显示页面 /permission denied
是否可以同时执行这两项操作-显示块页面并在日志文件中添加信息?

<IfModule mod_rewrite.c>

RewriteRule .* /permission-denied [R,L]
#RewriteRule .* /log.php?log [END,NE,E=nG:%1___%2___%3]
</IfModule>

谢谢您的支持!

tuwxkamq

tuwxkamq1#

这不起作用的原因是RewriteRule不会“触发一个动作”,它只是 * 更改将要处理的URL * -这就是名称中的“重写”的意思。
例如,您可能有以下一对规则:

RewriteRule a.abc /b.xyz
RewriteRule b.xyz /c.php

如果服务器接收到对“/a.php”的请求,它将按顺序处理这些规则:
1.第一条规则匹配,因此URL被重写为“/b.xyz”
1.第二条规则匹配,因此URL被重写为“/c.php”
1.没有更多的规则匹配,因此处理的URL是“/c.php”
1.执行c.php中的脚本,并将其响应发送回浏览器
对该请求执行 action 的唯一方法是将逻辑放入c.php的脚本中

相关问题