这可能吗
它在虚拟主机或服务器配置中。/sub_dom/
除非您已经可以通过常规域访问该目录,否则无法使用 htaccess 文件。您无法使用 htaccess 文件访问文档根目录之外的任何目录。
是否有更好的解决方案(例如,以另一种方式做会更好/更可取)
正确的做法是创建一个新的虚拟主机。您的旧虚拟主机应该具有类似这样的服务器名称:
ServerName domain.com
ServerAlias www.domain.com
在您的新虚拟主机中,您有:
ServerName admin.domain.com
还有一个:
DocumentRoot /path/to/sub_dom/
Apache 文档有一个设置 vhosts 的教程。
或者,您可以从常规域创建别名,例如:
Alias /sub_dom /path/to/sub_dom
然后您可以在 domain.com 文档根目录 (httpdocs) 中使用 mod_rewrite:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^admin\.domain\.com$ [NC]
RewriteCond %{DOCUMENT_ROOT}/sub_dom%{REQUEST_URI} -f [OR]
RewriteCond %{DOCUMENT_ROOT}/sub_dom%{REQUEST_URI} -d [OR]
RewriteCond %{DOCUMENT_ROOT}/sub_dom%{REQUEST_URI} -s
RewriteRule ^ /sub_dom%{REQUEST_URI} [L]
但是,你也可以直接搬进/sub_dom/
去httpdocs
,它会达到同样的效果。