X10*_*0nD 4 linux .htaccess http-status-code-403
我想使用.htaccess重定向任何403,但似乎无法正常工作。
Options +FollowSymlinks
RewriteEngine on
ErrorDocument 403 notfound.html
RewriteRule notfound.html
Run Code Online (Sandbox Code Playgroud)
所有帮助表示赞赏。
谢谢让
ErrorDocument指令的URL部分应以斜杠开头(表示相对于DocumentRoot的路径),或者应为完整URL(如果要使用外部文档)。
您在这里完全不需要RewriteEngine和RewriteRule指令。
因此,假设您的notfound.html位于网站的根目录级别,则指令应如下所示:
ErrorDocument 403 /notfound.html
Run Code Online (Sandbox Code Playgroud)
我发现前面的示例存在问题:
ErrorDocument 403 /notfound.html
Run Code Online (Sandbox Code Playgroud)
我的网站上有一个用于存储图像的目录,例如domain.com/images
我希望如果有人尝试访问目录的URL,那么他们将被重定向到站点的主页。我的问题是,基于以上所述,浏览器中的URL仍为domain.com/images,然后加载了主页,但是该主页将引用无法从该URL访问的样式表。(这很有意义-403应该显示一条错误消息)。
然后,我尝试研究如何将403错误重定向到另一个URL,并且一些站点说您无法执行302或301-您错过了要点:403是错误,不是重定向。
但是我找到了办法。这是/ images目录中的.htaccess文件:
Options -Indexes
ErrorDocument 403 /images/403.php
RewriteEngine on
RewriteRule ^403.php$ /index.php [R=301]
Run Code Online (Sandbox Code Playgroud)
因此,基本上第一行阻止目录列表。
第二行说,对于“权限被拒绝”(即403错误,这是第一行给出的内容),站点应加载文件“ /images/403.php”。但是实际上您不需要在该目录中创建任何403.php文件,因为...
第三行打开您的重定向引擎
第四行指出,如果用户尝试加载页面403.php(即在该.htaccess文件所在的“ / images”目录中),则应使用301(永久)重定向将其重定向到/index.php-这是根目录(即主页)的索引,而不是/ images子目录的索引(实际上“ / images”中没有索引)。
因此-如何使用301(永久)重定向获取403重定向到另一个URL(或者,您也可以尝试302临时重定向)。
| 归档时间: |
|
| 查看次数: |
31022 次 |
| 最近记录: |