【问题标题】:How will the URL requested look when using vhost and url rewriting?使用 vhost 和 url 重写时请求的 URL 将如何显示?
【发布时间】:2012-08-17 14:51:03
【问题描述】:

我有一个小系统 (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 重写呢?

感谢您提供一些信息!

【问题讨论】:

    标签: url mod-rewrite url-rewriting request vhosts


    【解决方案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]
    

    当有人在浏览器中访问 http://www.users_selected_url.com/ 时,这使用 mod_proxy 将请求代理到 http://www.my_site.com/index.cfm?user=123456789

    【讨论】:

    • 好的。我必须消化:-)但我想我明白了。稍后尝试并重新发布。到目前为止谢谢!
    猜你喜欢
    • 2011-04-23
    • 2021-12-28
    • 2014-11-19
    • 2017-06-19
    • 2011-02-19
    • 2019-09-22
    • 2017-05-10
    • 1970-01-01
    • 2019-05-11
    相关资源
    最近更新 更多