0

我有一个小系统 ( Coldfusion8, MySQL 5.0.88),它允许用户根据他们的偏好设置主网站的外观。

这一切都很好,除了 URL 仍然像这样丑陋:

  www.my_site.com/index.cfm?user=123456789

我现在希望用户显示他们自己的 URL 并阅读vhost(我正在运行Apache)如何执行此操作。我正在根据 URL 中提供的 id 更改皮肤。如果我现在将我的系统设置为显示:

  wwww.users_selected_url.com

与上述相比,我将无法检查 URL ID。在使用 Coldfusion 渲染页面时,我在整个应用程序中使用此 ID 检查来自定义页面布局。

问题:
什么时候会重新格式化 URL?是否仍会使用原始 URL 请求正在加载的页面,因此 Coldfusion 可以做到这一点,并且只有向用户显示的页面将使用他的自定义 URL?如果我也使用 URL 重写呢?

感谢您提供一些信息!

4

1 回答 1

1

您需要有一个 vhost 设置来接受对wwww.users_selected_url.com主机的请求,并且 DNS 需要指向您的服务器。在 vhost 配置中,您可以使用 rewrite 模块将 URL 更改为/index.cfm?user=123456789,并且此重写发生在 URI 移交给冷融合之前。您需要将其添加到您的虚拟主机配置中:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?users_selected_url.com$ [NC]
RewriteRule ^/$ http://www.my_site.com/index.cfm?user=123456789 [L,P]

这使用 mod_proxy 将请求代理到http://www.my_site.com/index.cfm?user=123456789当有人进入http://www.users_selected_url.com/他们的浏览器时。

于 2012-08-22T08:28:44.527 回答