【问题标题】:How can I accomplish this type of mod_rewrite?我怎样才能完成这种类型的 mod_rewrite?
【发布时间】:2011-03-04 18:03:34
【问题描述】:

我想在一台共享服务器上设置暂存和生产环境。因此,最佳情况下,我希望能够在服务器上创建如下结构:

/stage/
   /lib/
   /web/
      /js/
      /css/
      index.php
      ...
/production/
   /lib/
   /web/
      /js/
      /css/
      index.php
      ...

但是,虽然我能够更改添加的子域或插件域的文档根目录,但我无法更改主域的文档根目录。所以,我坚持文档根目录是 /public_html/。

我希望可以通过 stage.domain.com(指向 /stage/web/)访问暂存环境,并且每个其他子域 *.domain.com 或 domain.com 路由到生产环境(指向到 /production/web/)。

考虑到这一点,我相信我需要一个强大的 mod_rewrite 脚本来完成这项工作(.htaccess 级别)。由于我是 mod_rewrite 的新手,有人知道如何编写一个能够透明适当地路由请求的脚本吗?

或

有没有更好的方法在共享服务器上处理这两种环境?

【问题讨论】:

    标签: apache mod-rewrite shared-hosting project-setup


    【解决方案1】:

    如果您无法更改主域的文档根目录。您可以在public_html 名称production 文件夹中创建指向/web/production 的符号链接吗?启用符号链接。

    RewriteCond {REQUEST_FILENAME} !-f
    RewrireRule ^(.*)$ production/$1 [QSA,L]
    

    【讨论】:

    • 谢谢。您能否详细说明一下,特别是针对共享托管上下文?
    • 更改了我的答案以适应您的共享主机要求。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多