目前,我正在尝试拥有一个环境,允许我通过动态创建子目录来创建子域。
目录树,
domain.com
├── 1
| └── product1
| └── index.html
├── 2
│ └── product2
└── 3
└── product3
.ht访问规则,
#Redirect subdomain to subdirectory
RewriteCond %{HTTP_HOST} ^([^'.]+).domain.com$
RewriteCond %{DOCUMENT_ROOT}/%1 -d
RewriteRule ^ %{DOCUMENT_ROOT}/%1%{REQUEST_URI} [QSA
现在,当我输入"1.domain.com"以访问子目录 1 下的索引时.html我已经设法使用上面的 .htaccess 规则重定向我。
但是,如果我转到"1.domain.com/product1",我将访问我的产品1页面,但URL将显示为"1.domain.com/1/product1"。
如何隐藏 domain.com 和 product1 之间的"1",使其仍显示为"1.domain.com/product1",但在后台访问"1.domain.com/1/product1"目录?
我做了很多研究,发现通常人们会要求对目录的名称进行硬编码,但在这种情况下它不起作用,因为人们会动态创建子目录以获取不同的子域,所以我需要一个通用的 .htacess 规则来处理这个问题。
我怎样才能做到这一点?
感谢您的帮助!
重写
- /产品1
自
- /1
- /产品1
您可以使用以下规则:
RewriteRule ^((?!1).+)$ /1%{REQUEST_URI} [NC,L]