我搜索并尝试了所有能找到的方法,但似乎没有什么效果。我想做的是:
- 将某个域(domain.com)中的所有页面重定向到同一域内的目录(domain.com/dir 或 domain.com/dir/index.php);
但是,我不想重定向:
- 域名.com/index.php;
- 域名.com;
- www.域名.com
- 并且显然所有页面都将重定向到的目录(domain.com/dir)。
我想使用 .htaccess 来执行此操作,因为它似乎是最明显的选择——我只是不太熟悉 .htaccess 脚本。任何帮助都将不胜感激。提前致谢!
答案1
首先,不要使用.htaccess
:
一般情况下,应尽可能避免使用 .htaccess 文件。任何您想放入 .htaccess 文件的配置都可以在主服务器配置文件的某个部分中有效地完成。
将其放入您的<VirtualHost>
:
RewriteEngine On
RewriteRule !^(/|/index\..+|/dir/.*)$ /dir%{REQUEST_URI} [R=301,L]
或者,如果您在查看了有关此事的 Apache 文档后仍然坚持使用.htaccess
,那么您将需要从匹配和替换字符串中删除前导斜杠:
RewriteEngine On
RewriteRule !^(|index\..+|dir/.*)$ dir%{REQUEST_URI} [R=301,L]