【问题标题】:Htaccess Url to Virtual DirectoryHtaccess Url 到虚拟目录
【发布时间】:2014-09-24 17:16:13
【问题描述】:

有没有办法在自定义虚拟目录中添加一个 Url?例

http://mysub.domain.com/myurl/http://mysub2.domain.com/virtualdirectory/

【问题讨论】:

  • 请详细说明,虚拟目录是什么意思?您是否考虑过在 htaccess 中重写 URL?
  • 我的意思是,一个不存在的目录。

标签: .htaccess redirect subdomain virtual virtual-directory


【解决方案1】:

是的,您可以在DocumentRoot/.htaccess 中使用此规则:

RewriteRule ^virtualdirectory/(.*)$ /myurl/$1 [L,NC]

【讨论】:

  • 无效:RewriteRule ^virtualdirectory/(.*)$ /mysub.domain.com/myurl/ $1 [L,NC] -- htaccess 文件位于 mysub2.domain.com 根目录
  • 你把RewriteEngine On放在这行之前了吗?是否有更多的重写规则? .htaccess 是否启用?
  • 是的 htaccess 有效,它告诉我:在此服务器上找不到请求的 URL /mysub.domain.com/myurl/。
  • 这条规则奏效了。但是/mysub.domain.com/myurl/ 可能不是有效的 URL。左侧是虚拟的,但在右侧你必须提供一个工作路径
【解决方案2】:

两个环境(mysub.domain 和 mysub2.domain)是否在同一个主机上?如果没有,则需要重定向:

RewriteRule ^virtualdirectory/(.*)$ http://mysub2.domain.com/newdirectory/$1 [R=301,L]

请记住:用户会看到这一点。如果您不希望用户看到此重定向,请考虑使用代理(如果主机支持此功能)。

如果两个环境都在同一个主机上,您可以使用 anubhava 的解决方案,但它必须放在 documentroot 中,如前所述。如果这不起作用,请检查您是否可以在两个环境中访问有效目录。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-30
    • 2011-12-26
    • 2013-10-20
    • 2012-03-11
    • 2015-02-06
    • 1970-01-01
    相关资源
    最近更新 更多