我有一个小系统(Coldfusion8, MySQL 5.0.88
),它允许用户根据他们的偏好对主网站进行换肤。
这样做很好,除了URL仍然像这样丑陋:
www.my_site.com/index.cfm?user=123456789
我现在希望用户显示自己的网址并已阅读vhost
(我正在运行Apache
),了解如何执行此操作。我正在根据URL中提供的ID更改外观。如果我现在设置我的系统显示:
wwww.users_selected_url.com
与上述相比,我无法检查URL ID。我在整个应用程序中使用此ID检查以在使用Coldfusion呈现页面时自定义页面布局。
问题:
URL何时重新格式化?是否仍然会使用原始URL请求正在加载的页面,因此Coldfusion可以执行此操作,并且只有显示给用户的页面才会使用其自定义URL?如果我也使用URL重写怎么样?
感谢您提供一些信息!
答案 0 :(得分:1)
您需要设置vhost才能接受wwww.users_selected_url.com
主机的请求,并且DNS需要指向您的服务器。在vhost配置中,您可以使用重写模块将URL更改为/index.cfm?user=123456789
,并且在URI切换到冷融合之前进行此重写。您需要将其添加到您的vhost配置:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?users_selected_url.com$ [NC]
RewriteRule ^/$ http://www.my_site.com/index.cfm?user=123456789 [L,P]
当有人在浏览器中访问http://www.my_site.com/index.cfm?user=123456789
时,会使用mod_proxy将请求代理到http://www.users_selected_url.com/
。