提问人:selinav 提问时间:11/16/2023 最后编辑:Stephen Ostermillerselinav 更新时间:11/16/2023 访问量:12
如何合并 .htaccess 规则
How to combine .htaccess rules
问:
我在共享托管方面遇到了一个问题,无法结合规则说:.htaccess
- (在子目录中)的路径
index.php
- 将 www 重定向到不使用 www
共享主机有一个目录public_html,而我在 public_html/web 上
我在根目录上添加了:index.php
.htaccess
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www.example.com$
RewriteCond %{REQUEST_URI} !web/ RewriteRule (.*) /web/$1 [l]
它很好用,但是如何在没有www的情况下将www重定向的信息添加到?
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ http%{ENV:protossl}://%1%{REQUEST_URI} [L,R=301]
我们已经测试了许多语法,如下所示,但它重定向重定向到并且 URL 在我的 CMS 中很糟糕。我们在之前或之后测试重定向目录 /web,它是一样的。https://www.example.com
https://example.com/web
RewriteEngine On
#Redirect from www to without -www
RewriteCond %{HTTP_HOST} ^www.example.com$ [NC]
RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]
#Redirect to directory /web
RewriteCond %{REQUEST_URI} !^/web/
RewriteRule (.*) /web/$1 [L]
我已经尝试了许多与托管商的语法,但我找不到解决方案
RewriteEngine on
#Redirect to subdirectory /web
RewriteCond %{HTTP_HOST} ^(www.)?example.com$ NC
RewriteCond %{REQUEST_URI} !^/web/
RewriteRule ^(.*)$ /web/$1 L
#Redirection from www to without www
RewriteCond %{HTTP_HOST} ^www.example.com$ NC
RewriteRule ^(.*)$ https://example.com/$1 R=301,L
答: 暂无答案
评论