.htaccess文件有一个操作-如果用户被阻止,将显示页面 /permission denied。是否可以同时执行这两项操作-显示块页面并在日志文件中添加信息?
<IfModule mod_rewrite.c> RewriteRule .* /permission-denied [R,L] #RewriteRule .* /log.php?log [END,NE,E=nG:%1___%2___%3] </IfModule>
谢谢您的支持!
tuwxkamq1#
这不起作用的原因是RewriteRule不会“触发一个动作”,它只是 * 更改将要处理的URL * -这就是名称中的“重写”的意思。例如,您可能有以下一对规则:
RewriteRule
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的脚本中
1条答案
按热度按时间tuwxkamq1#
这不起作用的原因是
RewriteRule
不会“触发一个动作”,它只是 * 更改将要处理的URL * -这就是名称中的“重写”的意思。例如,您可能有以下一对规则:
如果服务器接收到对“/a.php”的请求,它将按顺序处理这些规则:
1.第一条规则匹配,因此URL被重写为“/b.xyz”
1.第二条规则匹配,因此URL被重写为“/c.php”
1.没有更多的规则匹配,因此处理的URL是“/c.php”
1.执行c.php中的脚本,并将其响应发送回浏览器
对该请求执行 action 的唯一方法是将逻辑放入c.php的脚本中