当前位置: 首页 > 知识库问答 >
问题:

.htaccess将根域重定向到子目录

慕阳
2023-03-14

我有一个有趣的故事。我的根目录上的htaccess配置如下所示:

    RewriteEngine On
    # add a trailing slash if portal-pages/$1 is a directory
    RewriteCond %{DOCUMENT_ROOT}/portal-pages/$1 -d

    RewriteRule ^(.*[^/])$ %{REQUEST_URI}/ [L,R=301,NE]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(?!portal-pages/)(.*)$ portal-pages/$1 [L,NC]

所以我真正的道路是这样的:

 local.com/portal-pages/home

但是. htaccess把这个路径翻译成这样:

 local.com/home

效果很好,但如果我打本地的话。com我想把它转发到本地。com/home。如果我打本地电话。com/随便你怎么说。

如何使用此配置执行此操作?提前谢谢。

另外,我如何强制所有内容都使用https?

共有1个答案

关昊天
2023-03-14

您可以使用一个附加规则将登录页重写为/homehttp的另一个重定向规则-

RewriteEngine On

RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [NE,R=301,L]

# add a trailing slash if portal-pages/$1 is a directory
RewriteCond %{DOCUMENT_ROOT}/portal-pages/$1 -d
RewriteRule ^(.*[^/])$ %{REQUEST_URI}/ [L,R=301,NE]

# forward landing page to /home
RewriteRule ^/?$ /home [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(?!portal-pages/)(.*)$ portal-pages/$1 [L,NC]
 类似资料:
  • 我的主域名绑定到我的public_html文件夹,但我使用. htaccess重定向将根目录更改为文件夹中的子目录,以便更容易托管多个网站。示例: 根目录中的. htaccess文件如下: 这很好,但我认为这和这个有问题。我的site1目录中的htaccess文件。如果我输入URL,它有时会重定向到示例。com/site1。因此,该网站在示例中看起来完全相同。com和示例。com/site1,但我

  • 问题内容: 这个问题可能已经问了上千遍了,但是我尝试了很多脚本,并且在搜索什么都没有找到时搜索了很长时间,我想,我们只是问一下。 我只是想重定向到而用户看不到URL更改。 因此,如果有要求,我希望用户继续看到该URL,而给定的页面实际上是。 注意:我不想要,所以简单 提前致谢, 以赛亚诉匈奴 问题答案: 我在下面设置了我的子域的CNAME: 到我的WordPress安装在根目录下的文件夹中。 以前

  • 假设(网站的)用户键入一个随机的、不存在的子域名: 是否可以将它们重定向到[主]域: 问题是,如果用户键入[或拼写错误]子域名,那么当前,它将进入[404]错误页面。然而,我已经提出: 在公园里。htaccess-但是,它不会重定向。是否可以为通配符创建某种重写条件/规则,例如不存在的所有子域?

  • 我有一个专用服务器,其中有许多驻留的域,我的子文件夹的结构为“domain.com/pages/username”,如果用户购买了自己的域,则使用htaccess文件中的以下代码执行重定向: 但是现在由于有几个域和htaccess文件大小越来越大。我想知道是否可以在不编辑htaccess文件的情况下从域配置中完成类似的操作。我不使用子域,我可以使用CNAME或类似的新域吗?HTAccess文件权重

  • 这是我需要的。 我需要重定向(301)博客至,我想使用htaccess来实现这一点。 这是我尝试过的,但没有成功: 谢谢你的帮助。

  • 我有一个多个域共享一个htaccess的系统。目前,我使用以下命令将所有非www请求重定向到www。 唯一的问题是现在我根本不能使用子域,因为子域。我的主人。com将被重定向到www.sub-domain。我的主人。com 上述规则是否有一种方法可以排除所有以“sub-”开头的请求?而不是重定向到www。 更新: 在我的表格中只有以上5行。htaccess将抛出“500-内部服务器错误”。