【问题标题】:How to do URL rewriting如何进行 URL 重写
【发布时间】:2010-01-04 14:48:04
【问题描述】:

我对 httpd 服务器很陌生。我有一个紧迫的问题要解决。我的服务器实例在 centos box 上运行。

如果一个请求到达我的服务器


http://sub-domain.domain.com


这应该翻译成


http://domain.com/key/sub-domain


我在我的服务器上配置了许多虚拟主机。但这是一个相当大的案例,我的想法已经不多了

任何建议:我应该怎么做?

【问题讨论】:

    标签: url-rewriting apache2


    【解决方案1】:

    如果你使用 apache

    ServerName sub-domain.domain.com
    RedirectMatch /(.*) http://domain.com/key/sub-domain/$1
    

    因此

    http://sub-domain.domain.com/a-page-i-want-to-see.html
    

    将发送 301 重定向到

    http://domain.com/key/sub-domain/a-page-i-want-to-see.html
    

    如果需要动态检测子域,可能需要一些额外的设置。

    RewriteCond %{HTTP_HOST} 是您需要的,但我不确定它的具体工作原理,您可能需要使用。

    我确实找到了所有子域的通配符 serverAlais。

    ServerName domain.com
    ServerAlias *.example.com
    
    RewriteCond %{HTTP_HOST} ...
    

    【讨论】:

    • 你好Fire Crow,其实我对“子域”的值并不太了解。它将由系统生成的密钥。
    • 有什么办法,可以在localhost上测试一下子域的东西吗?
    • 我有一个本地设置,包括绑定作为本地名称服务器,如果您在 *nix 操作系统上,您可以将子域放在 /etc/hosts 文件中
    • RedirectMatch 默认发送 302。
    • 在 Windows XP 下你可以在这里找到:c:\WINDOWS\system32\drivers\etc\hosts
    猜你喜欢
    • 1970-01-01
    • 2021-03-04
    • 2011-03-06
    • 2010-11-05
    • 2010-10-06
    • 1970-01-01
    • 2014-04-27
    • 1970-01-01
    • 2010-12-14
    相关资源
    最近更新 更多