【发布时间】:2016-08-05 06:08:45
【问题描述】:
这是挑战:我需要模仿子域。实际上,项目中的所有“子域”都是主 SiteController 的简单操作,例如
example.com/index.php/site/subsite?id=subname
example.com/index.php/site/about?id=subname
example.com/index.php/site/contacts?id=subname
等等。我需要它们看起来像
subname.example.com/
subname.example.com/about
subname.example.com/contacts
等等。我已经包含了这样的 urlManager 规则:
'rules' => [
'http://<id:\w+>.site.com/about' => 'site/about',
'http://<id:\w+>.site.com/contacts' => 'site/contacts',
'http://<id:\w+>.site.com' => 'site/subsite',
],
并制作了一个 .htaccess 文件:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{HTTP_HOST} ^([a-zA-Z0-9]*).site.com [NC]
RewriteRule %{HTTP_HOST} "^([a-zA-Z0-9]*)$.site.com" "site.com/index.php/subsite?id=$1" [L]
但它(可以预见)不起作用,因为我不擅长重写规则。我做错了什么?
【问题讨论】:
-
为什么不使用 yii2-advance-app 并让每个应用服务一个域??
标签: .htaccess mod-rewrite yii2 subdomain yii-url-manager