【发布时间】:2012-10-15 09:02:57
【问题描述】:
当用户访问 foo.com/bar 时,他们应该会看到位于 foo.com/bar/public 的站点。公共部分必须隐藏。如何使用 .htaccess 实现这一点?
提前致谢
【问题讨论】:
标签: .htaccess redirect directory public
当用户访问 foo.com/bar 时,他们应该会看到位于 foo.com/bar/public 的站点。公共部分必须隐藏。如何使用 .htaccess 实现这一点?
提前致谢
【问题讨论】:
标签: .htaccess redirect directory public
将这些规则放在文档根目录的 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”开头,然后对请求的其余部分进行分组。接下来的 2 个条件检查请求的其余部分(由 %1 反向引用)是否映射到现有文件或目录。如果所有条件都满足,则在内部将 URI 重写为 /bar/public。
【讨论】: