【问题标题】:htaccess to add directory after domain name?htaccess 在域名后添加目录?
【发布时间】:2012-10-03 00:32:22
【问题描述】:

如何使用 htaccess 始终在域名后添加目录?

例如,更改请求 http://domain.com/path-to/file.phphttp://domain.com/added-directory/path-to/file.php

这里的上下文是我正在将站点迁移到新服务器,并且域名尚未指向新服务器。但是托管公司为我提供了一个基于共享 IP 和我的帐户用户名的“临时 url”,所以 http://216.172.172.211/~myusername/ ,但是所有 html 中的所有路径都是 doc-root 相对的,比如 /images/logo.png,转换为 http://216.172.172.211/images/logo.png 这是错误的。我需要它是http://216.172.172.211/~myusername/images/logo.png

【问题讨论】:

    标签: .htaccess url-rewriting directory


    【解决方案1】:

    尝试将这些规则添加到文档根目录中的 htaccess 文件中:

    RewriteEngine On
    RewriteCond %{REQUEST_URI} !^/~myusername
    RewriteRule ^(.*)$ /~myusername/$1 [L]
    

    如果您想要重定向,以便 URL 在 URL 地址栏中显示 ~myusername 部分,请在方括号中添加 R 标志:

    RewriteRule ^(.*)$ /~myusername/$1 [L,R=301]
    

    【讨论】:

    • 嗯,这似乎没有做到。我确实将~myusername 更改为我的实际用户名。我尝试使用和不使用 R=301。无论如何都没有运气。
    • @tzeldin88 你确定你的 htaccess 文件正在被读取(在服务器/虚拟主机配置中需要AllowOverride All)吗?你确定 mod_rewrite 已经加载了吗?在达到此规则之前,是否还有其他规则正在应用?
    • 感谢您的帮助,非常感谢。我能够为该站点获得一个专用 IP,这解决了我从服务器文档根目录查看站点的更大问题。所以我不需要继续解决 htaccess 问题。再次感谢。
    【解决方案2】:

    这对我很有效

    RewriteEngine on
    RewriteCond %{REQUEST_URI} !^/~gye 
    RewriteRule ^(.*)$ https://%{HTTP_HOST}/gye/$1 [R=301,L]
    
    1. 如果 URL 没有 /XYZ
    2. 在开头添加 https://,在域名后添加 /gye/。

    这里的测试真的很有帮助:https://htaccess.madewithlove.be/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-06
      • 2016-08-24
      • 1970-01-01
      • 2011-10-31
      相关资源
      最近更新 更多