问题描述
使用阿帕奇。当 /storage/ 是 /.storage/subdomain/ 的别名时,如何允许访问 /storage/ 但拒绝访问 /.storage/?
# Define alias based on subdomain
RewriteCond %{HTTP_HOST} ^([^.]+)$
RewriteRule ^storage/(.*)$ ".storage/%1/$1" [QSA,L]
# Forbid access to
RewriteCond %{REQUEST_URI} ^/\.storage/
RewriteRule ^ - [F,L]
解决方法
根据您显示的示例,您能否尝试以下操作。请确保在测试 URL 之前清除浏览器缓存。我们需要先修复用于获取子域的正则表达式,然后我们需要更改规则中的 "
并添加额外的条件来检查以确保用户无法直接访问实际文件夹。
RewriteEngine ON
# Define alias based on subdomain
RewriteCond %{HTTP_HOST} ^(?:www\.)(.*)$ [NC]
RewriteRule ^storage/(.*)$ .storage/%1/$1 [NC,QSA,L]
# Forbid access to
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule ^\.storage - [F,NC,L]