示例网址:
http://username1.example.com/inventory/
http://username2.example.com/profile/about
http://example.com/products/category/
重写为:
http://example.com/subdomains/inventory/?user=username1
http://example.com/subdomains/profile/about?user=username2
http://example.com/products/category/
我想我已经搜索了大部分互联网。
如何通过添加"子域"来重写路径?域后面的文件夹,并将子域作为GET变量传递给PHP访问它?用户可以在此地址栏中看到的网址不应有任何更改。 当没有子域时,不应该有任何改变或重写。
现在,我可以将路径和子域都视为GET变量,如下所示,但这不是我想要的。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^((?!www\.)[^.]+)\.example\.com$
RewriteCond %{REQUEST_URI} !^/index\.php$
RewriteCond %{REQUEST_URI} !^.*\.(jpg|css|js|gif|png)$ [NC]
RewriteRule ^(.*)$ /index.php?subdomain=%1&request=$1 [L]
</IfModule>
请考虑我是.htaccess noob。
答案 0 :(得分:0)
试试这个(如果你已经有其他一些重写规则,请将它们放在最上面):
RewriteCond %{HTTP_HOST} ^((?!www\.)[^.]+)\.example\.com$
RewriteRule ^ http://example.com/subdomains%{REQUEST_URI}?user=%1 [QSA,L,P]