当用户访问foo.com/bar时,他们应该会看到该网站位于foo.com/bar/public。必须隐藏公共部分。我如何使用.htaccess实现这一目标?
提前致谢
答案 0 :(得分:0)
将这些规则放在文档根目录中的htaccess文件中:
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/bar/(.*)$
RewriteCond %{DOCUMENT_ROOT}/bar/public/%1 -f [OR]
RewriteCond %{DOCUMENT_ROOT}/bar/public/%1 -d
RewriteRule ^/?bar/(.*)$ /bar/public/$1 [L]
第一个条件检查URI是否以“/ bar”开头,然后对请求的其余部分进行分组。接下来的两个条件检查请求的其余部分(由%1
反向引用)映射到现有文件或目录。如果满足所有条件,则会在内部将URI重写为/bar/public
。