Php 子域通过.htaccess+;从URL隐藏子目录
目前,我正在尝试一个环境,允许我通过动态创建子目录来创建子域 目录树Php 子域通过.htaccess+;从URL隐藏子目录,php,apache,.htaccess,redirect,mod-rewrite,Php,Apache,.htaccess,Redirect,Mod Rewrite,目前,我正在尝试一个环境,允许我通过动态创建子目录来创建子域 目录树 domain.com ├── 1 | └── product1 | └── index.html ├── 2 │ └── product2 └── 3 └── product3 .htaccess规则 #Redirect subdomain to subdirectory RewriteCond %{HTTP_HOST} ^([^\.]+).domain.com$ Rewrit
domain.com
├── 1
| └── product1
| └── index.html
├── 2
│ └── product2
└── 3
└── product3
.htaccess规则
#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下的index.html时,我已经设法使用上面的.htaccess规则重定向我
但是如果我转到“1.domain.com/product1”,我将访问我的product1页面,但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]
您好,这似乎仍然显示“1.domain.com/1/product1”而不是“1.domain.com/product1”@avn您将使用什么url?我输入了“1.domain.com/product1”,它确实显示了product1页面,但url现在是“1.domain.com/1/product1”。我想在domain.com和product1之间隐藏“1”。这是用子目录1硬编码的吗?我需要能够动态创建一个子域,我无法在每次有人创建一个子目录用作subdomain.domain.com时创建一条规则