【问题标题】:htaccess rewrite without redirecthtaccess 重写而不重定向
【发布时间】:2020-11-08 13:29:52
【问题描述】:

我要做的就是将 url 从 www.exaple.hu 重写为 www.exaple.cz/hu。所以在地址 www.exaple.cz/hu 下显示的是来自地址 www.exaple.hu 的内容。

所以当用户输入 www.exaple.cz/hu 时,用户被重定向到 www.exaple.hu 但来自 www.exaple.hu 的内容显示在域 www.exaple.cz/ 下hu(所以在地址栏中是 www.exaple.cz/hu)。

【问题讨论】:

    标签: regex apache .htaccess mod-rewrite


    【解决方案1】:

    为此,您需要在 Apache 配置中启用 mod_proxy。启用 mod_proxy 后,通过 httpd.conf 启用 mod_rewrite 和 .htaccess,然后将此代码放在 .htaccess 下的 DOCUMENT_ROOT 目录下:

    Options +FollowSymLinks -MultiViews
    # Turn mod_rewrite on
    RewriteEngine On
    RewriteBase /
    
    RewriteCond %{HTTP_HOST} ^www\.exaple\.cz$ [NC]
    RewriteRule ^(hu)/?$ http://www.exaple.$1 [L,P,NC]
    

    【讨论】:

    • 好吧,也许我的解释不好;)所以当用户输入 www.exaple.cz/hu 时,用户被重定向到 www.exaple.hu 但在地址栏中仍然有 www.exaple.cz /hu 不是 www.exaple.hu。
    • 你的解释是正确的,我的回答也是正确的 :) 我的回答确实是确保浏览器中的 URL 保持 www.exaple.cz/hu 同时提供来自 www.exaple.hu 的内容(使用 mod_proxy)。
    • 感谢您的帮助 ;)。顺便说一句 - 你知道任何有关于 apache 和 mod rewrite 的教程或其他学习材料的好网站吗?因为,例如,我不知道那些标志 [NC] [L,P,NC] 是什么意思(你称之为标志还是我错了?;))。无论如何 - 再次感谢您的帮助。
    • 不客气。是的,这些确实被称为标志/选项。 L - 最后,P - 代理,NC - 忽略大小写比较。这是官方的 mod_rewrite 文档:httpd.apache.org/docs/current/mod/mod_rewrite.html
    • 顺便说一句如何启用 mod_proxy ?我只需要在 httpd.conf 文件中取消注释带有 mod_proxy 的行吗?有没有一种方法可以检查 mod_proxy 是否已启用而无需访问 httpd.conf ? (这是我无法访问此文件的舞台服务器)。有没有其他方法可以做到这一点? ;)
    【解决方案2】:

    www.exaple.cz/hu 和 www.exaple.hu 的文件是否在同一台服务器上?

    如果是,我将创建一个符号链接,以便 www.exaple.cz/hu 内容目录指向 www.exaple.hu 内容目录。

    例如,如果服务器 A 有目录:

    • /var/www/html/A 包括以下文件:www.exaple.cz/hu
    • /var/www/html/B 其中包括以下文件:www.exaple.hu

    cd /var/www/html/

    ln -s /var/www/html/B A

    这样,您只有一个来源,但可以链接到来源。

    如果这两个 URL 指向两个 diff 服务器,您可以尝试安装这两个并使用 slink 或.. 在 www.exaple.cz/hu 中包含“www.exaple.hu”作为框架?

    【讨论】:

      【解决方案3】:

      如果文件在同一台服务器上,您可以删除(cpanel)中的附加域并重新添加域,但这次选择其他域的工作目录。

      如果你的域的链接结构是这样的:

      <a href="/path/page">Link</a>
      

      您现在可以毫无问题地使用新网站了。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-02-28
        • 2019-08-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-06-10
        • 1970-01-01
        相关资源
        最近更新 更多