我有一个使用Laravel编写的应用程序,它会生成动态子域。因此,我有一个通配符(*
)路由机制。由于我在使用SSL时遇到了一些麻烦,因此我需要将www.example.com
路由重定向到裸域(example.com
),最好使用RewriteRules在Apache .conf文件中。
我已经进行了一些搜索并看到了一些示例,但是我所看到的大多数内容要么将所有子域重定向到裸域(这破坏了我上面提到的子域功能),要么做的与我尝试的相反这样做(将裸域重定向到www)会在我的许多现有路由中导致重定向循环。
使用Apache可以做到这一点吗?
编辑:
我想我已经解决了。对于其他有类似问题的人,我在中使用以下规则/etc/apache2/sites-enabled/000-default.conf
:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1$1 [R=301,L]
这会将所有www
以其开头的URL重定向到其裸露的对等地址,这具有www
从子域中剥离的附加好处(例如,www.test.example.com
重定向至test.example.com
该URL很棒(尽管是不必要的),因为www.{subdomain}.example.com
这不是我的应用程序中定义的路由,因此不会反正工作。
我想我已经解决了。对于其他有类似问题的人,我在中使用以下规则/etc/apache2/sites-enabled/000-default.conf
:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
这会将所有www
以其开头的URL重定向到其裸露的对等地址,这具有www
从子域中剥离的附加好处(例如,www.test.example.com
重定向至test.example.com
该URL很棒(尽管是不必要的),因为www.{subdomain}.example.com
这不是我的应用程序中定义的路由,因此不会反正工作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句