【发布时间】: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