在Apache服务器上,我想将对某些子目录发出的任何请求重定向到Web根目录。例如,如果用户尝试转到http://www.my-domain.com/js/
,我想将其重定向到http://www.my-domain.com/
。我假设我需要使用.htaccess
文件和mod_rewrite
来执行此操作,但也许有更好的方法。
更具体地说,我想在用户向不包含索引文件的目录发出请求时重定向。但诀窍在于我不想对域URL进行硬编码以重定向到。相反,我想为web root / domain root使用一个变量,这样无论我在哪个环境中使用代码,它都可以工作。
我该怎么做?谢谢。
稍微添加了我的问题,我在.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。
答案 0 :(得分:0)
我能够找到自己问题的答案。以下作品:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ / [L,R]
</IfModule>