使用.htaccess隐藏子文件夹

时间:2018-07-10 19:46:55

标签: .htaccess

尽管我已经搜索并找到了与此问题相关的许多主题,但是。 htaccess 的这些代码都没有为我工作,所以我希望能提供一些帮助,我会尽量保持清晰和简单。

这是在 domain1 上托管的主网站上注册的 public_html https://prnt.sc/k4vy33

我在其中有一个代码。 htaccess ,它使我可以将主网站包装在 domain1 文件夹中,因此 public_html 弄得一团糟,使事情/文件夹清晰明了。可以在此处找到来自。 htaccess 的代码( domain.com 已更改): pastebin.com/raw/ukDu8ykm

这很好,并且如果我只是在浏览器中写入 domain1.com ,则可以访问该网站,并且一切正常,在该网址中没有重复的URL(显示)地址栏。因此, www.domain1.com 的运行效果很好,我认为, htaccess 中的代码就可以了。

在这里,我尝试了来自stackoverflow的各种。 htaccess 代码,但没有成功。

domain1 文件夹中,我有主网站(如上所述,它的工作原理很好),在其中还有一些其他网站的文件夹。例如,我其中有 website1(HTML模板) website2(WordPress)

因此,如果我现在访问 domain1.com/website1 ,它会加载到浏览器中,但是像这样: domain1.com/domain1.com/website1 ,并且一切正常,但是 domain1 是重复的。 WordPress也会发生同样的情况,因为结果是404,所以我会得到它: domain1.com/domain1.com/website2 /

此外,WordPress登录无法与此代码一起使用(没有错误,只是用户不会登录)。 htaccess 代码:http://prntscr.com/k4w0qn但可以使用此代码:http://prntscr.com/k4w0uq

因此,我尝试在 website1 website2 的。 htaccess 中使用15-20个代码,没有任何效果,该子文件夹仍显示在地址栏中,使WP混乱。

希望我很清楚,很抱歉收到长消息。

谢谢。

1 个答案:

答案 0 :(得分:0)

尝试以下规则:

RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ http://%1%{REQUEST_URI} [NE,R=301,L]

RewriteCond %{HTTP_HOST} ^(www\.)?domain\.com$
RewriteRule !^subfolder/ /subfolder%{REQUEST_URI}  [L]

用于多个子文件夹:

使用:RewriteRule !^(subfolder|subfolder1|subfolder2)/ /subfolder%{REQUEST_URI} [L,NC]