【问题标题】:How do I redirect from a subdirectory on an Apache server to the dynamic web root / domain root?如何从 Apache 服务器上的子目录重定向到动态 Web 根目录/域根目录?
【发布时间】:2016-08-30 02:25:04
【问题描述】:

在 Apache 服务器上,我想将对某些子目录的任何请求重定向到 Web 根目录。例如,如果用户尝试访问http://www.my-domain.com/js/,我想将他们重定向到http://www.my-domain.com/。我假设我需要使用 .htaccess 文件和 mod_rewrite 来执行此操作,但也许有更好的方法。

更具体地说,我想在用户向不包含索引文件的目录发出请求时将其重定向。诀窍是我不想硬编码要重定向到的域 URL。相反,我想为 web 根 / 域根使用一个变量,这样无论我在哪个环境中使用代码,它都可以工作。

我该怎么做?谢谢。


稍微补充一下我的问题,我在.htaccess 文件中尝试了以下两种方法,但都没有奏效。

<IfModule mod_rewrite.c>
  RewriteEngine on
  RewriteCond %{REQUEST_FILENAME} -d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^ %{HTTP_HOST} [L]
</IfModule>

上面给了我一些奇怪的 Apache 错误并且没有重定向。

<IfModule mod_rewrite.c>
  RewriteEngine on
  RewriteCond %{REQUEST_FILENAME} -d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^ %{DOCUMENT_ROOT} [L]
</IfModule>

这重定向到根目录页面,但没有更改 URL。

【问题讨论】:

    标签: apache .htaccess redirect document-root


    【解决方案1】:

    我能够找到自己问题的答案。以下作品:

    <IfModule mod_rewrite.c>
      RewriteEngine on
      RewriteCond %{REQUEST_FILENAME} -d
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteRule ^ / [L,R]
    </IfModule>
    

    【讨论】:

      猜你喜欢
      • 2015-09-02
      • 2015-04-23
      • 1970-01-01
      • 1970-01-01
      • 2015-10-21
      • 2019-07-20
      • 2021-11-26
      • 2013-04-09
      • 1970-01-01
      相关资源
      最近更新 更多