如何在htaccess中重写url以隐藏子文件夹



我的网站位于public_html文件夹的子文件夹(gng2(中。public_html/.htaccess文件中的以下代码运行良好,因为键入我的域可以从子目录正确加载网站:

## redirect to subfolder containing the  app.
RewriteCond %{HTTP_HOST} ^example.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www.example.com$
RewriteCond %{REQUEST_URI} !gng2/
RewriteRule (.*) /gng2/$1 [L]

我的问题是www.example.com/gng2/whateverpage也可以。我想将这些URL重写/重新路由到www.example.com/whateverpage;gng2";子文件夹不会显示在Google Analytics结果中。

我应该如何修改上面的代码来实现这一点?

谢谢,W.

您可以在gng2/.htaccess中使用此重定向规则从所有URL中删除/gng2/

RewriteEngine On
RewriteCond %{THE_REQUEST} s/+gng2/(S*) [NC]
RewriteRule ^ /%1 [L,R=301,NE]
# other rules appear below this line

请将htaccess文件保存在gng2文件夹中,并在htaccess规则文件中尝试以下规则。请确保这些规则位于您的文件顶部(用于将http/HTTPS应用于URL,以防您有更多规则(,还请在测试URL之前清除浏览器缓存。

RewriteEngine ON
## redirect to subfolder containing the  app.
RewriteCond %{HTTP_HOST} ^(www.)?example.com$ [NC]
##Place your RewriteRule here.....

最新更新