【问题标题】:MOD rewrite all URLS after some specific URL folderMOD 在某些特定 URL 文件夹之后重写所有 URL
【发布时间】:2017-02-20 04:08:39
【问题描述】:

我需要将所有在其 URL 地址中带有此特定字符串的请求重定向:“domain.com/subfolder1/”到新位置“subdomain.domain.com” 任何想法如何做到这一点?

我试过了: RewriteRule "^domain.com/subfolder1/(.*)" "http://subdomain.domain.com/$1" [R,L=301] 但没有运气

提前感谢您的帮助。

【问题讨论】:

    标签: apache mod-rewrite web


    【解决方案1】:

    重定向就足够了。在 example.com 的虚拟主机中,您可以定义:

    Redirect permanent /subdirectory1/ http://subdomain.example.com/
    

    如果您不希望原始请求在目的地结束,请使用:

    RedirectMatch permanent ^ http://subdomain.example.com/
    

    【讨论】:

    • 谢谢,它有点工作,但让它更复杂:旧的 URL 不在新位置,所以基本上我需要在 URL 中包含这个部分字符串的任何东西,以重定向到固定的 URL: subdomain.domain.com .... 之后没有 URL。有什么想法吗?
    • 请注意,我说的是“在 virtualhost example.com 中”您可以定义。也就是说,有一个旧域的虚拟主机,您应该在其中定义它。
    • 对不起,我猜我不是很好,我只是从我的提供商那里获得了 ftp,我所有的文件都存放在那里。在那里我有 htaccess,我对此知之甚少。我在这个 Htaccess 中输入了你写的行,它工作正常,除了我现在需要解决的一个事实:domain.com/subfolder1/ANYTHING.php 被重定向到 subdomain.domain.com ....注意我不希望这个新的重定向 URL 包含任何 page.php 或类似的东西......
    • @Jozef 在那里,我在答案中添加了一个新的重定向,因此原始请求不会在目标处结束,它只是被重定向到新的主机名。
    • 您好,谢谢您,我尝试将您的两个代码行都放在 htaccess 中,不幸的是它们/它们中的任何一个都会导致错误。它只是命令的一部分(我是否必须在该代码之前/之后添加特定的内容)还是包含所有特定命令的完整代码?
    猜你喜欢
    • 1970-01-01
    • 2020-02-26
    • 1970-01-01
    • 2020-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多