2

我想知道是否可以使用 .htaccess 文件将我的域直接路由到我服务器上的子目录?

我从一个普通的 webhoster 购买了一个 webhosting 包,我的 domain.com 连接到我的服务器的根目录。我想知道是否有可能以某种方式将 .htaccess 文件上传到我服务器上的根目录,该文件会自动将 domain.com(/index.php 或 /index.html)路由到 domain.com/some-directory/ ...</p >

当然,我不希望地址栏更新到 domain.com/some-directory。我希望我的常规域只是从子目录而不是我的根目录中获取它的文件。

只是为了更好地了解我的服务器。

同样,当调用 mydomain.com 时,它会从我的服务器上的根目录呈现 index.html(或 .php)。但是我希望 mydomain.com 呈现 /subdirectory/index.html。

如果这是可能的,我该怎么做?这在某种程度上是不是很糟糕?有没有我没有想到的东西,例如,这种方法是否有更长的加载时间或类似的东西?

先感谢您。马特

更新:或者这可以通过我的网络管理面板上的 DNS 设置来实现。我能够编辑所有 DNS 条目。

4

1 回答 1

2

尝试将其放入文档根目录的 htaccess 文件中:

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/some-directory/
RewriteCond %{DOCUMENT_ROOT}/some-directory%{REQUEST_URI} -f [OR]
RewriteCond %{DOCUMENT_ROOT}/some-directory%{REQUEST_URI} -d
RewriteRule ^(.*)$ /some-directory/$1 [L]

请记住,如果您尝试访问一个目录并且缺少尾部斜杠,mod_dir 会将浏览器重定向到带有尾部斜杠的 URL,并显示“/some-directory/”。


编辑

此外, 2-f-d条件是为了确保请求实际上是针对存在的资源。这不是必需的,如果您有更多带有重写规则的 htaccess 文件,您可能不想要这些。他们确保如果有人请求一些虚假 URL,404 消息将在目录之外处理。/some-directory/否则 404 消息将显示以下内容:

在此服务器上未找到请求的 URL /some-directory/blahblahblah。

暴露所有东西都在被路由通过/some-directory/

于 2012-08-20T17:55:52.173 回答