我在Apache上有一个php web应用程序,它支持查询字符串中dist_id标识的多个用户。因此https://main.com/login?dist_id=21显示了来自https://main.com/login?dist_id=26
的不同风格的网页我想要做的是为每个用户注册域名并保持网址清洁,以便https://brandx.com/login无形地指向https://main.com/login?dist_id=21。登录后我不再需要dist_id了,但我想保留用户的域名,以便https://brandx.com/products?show=1等仍然有用。
这是可能的,最好的方法是什么(mod_write,DNS,在PHP中)?
注意我已经有一个重写规则来添加index.php,这是所有请求的入口点。
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
我想我已经接近了:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?dist_id=26 [QSA,L]
登录后,此作品有效:https://brandx.com/categories但是这会产生404错误:https://brandx.com/categories?parent_id=12329
答案 0 :(得分:1)
大概所有这些"网站"会共享相同的URL结构(减去查询参数)吗?在这种情况下,为main.com
网站设置定义可能最简单,然后将所有brandx.com
域添加为别名,例如。
<virtualhost *:80>
ServerName main.com
ServerAlias brandx.com brandy.com brandz.com etc...
</virtualhost>
然后使用mod_rewrite测试HTTP&#39; Host:`标头以查看用户正在访问哪个域,并根据需要重新编写。