htaccess重定向文件夹到子文件夹

时间:2017-07-02 16:41:31

标签: .htaccess

注意:我写了解决方案。还是非常感谢。 :)

我知道这似乎是重复的问题:我搜索了很多,我应用了几十条重写规则,但它们不起作用。

我需要从

重定向
www.domain.com/folder1

www.domain.com/folder1/subfolderA

注意:folder1是emtpy。在subfolderA我有index.html,index.php,css文件,js文件。如果我去" www.doman.com/folder1/subfolderA /"我看到一个简单的网页,其中包含index.php文件提供的正确的css和js。

我的.htaccess文件位于www.domain.com/(我已经尝试将其放在folder1中,但它不起作用,甚至删除" RewriteBase /"行) 。文件存款:0755。

" Option -Indexes"," Option + Indexes"生成错误"这里不允许选项索引",所以我删除了它们 "选项+ FollowSymLinks"生成错误"选项FollowSymLinks这里不允许"我删除了它。

首先尝试:无尽的网址

RewriteBase /
RewriteRule ^/folder1(/.*)?$ /folder1/subfolderA$1 [L,R]
(rif: https://stackoverflow.com/a/32525136/1315873) ('R' is just for debug)


结果:
www.domain.com/folder1/subfolderA/subfolderA/subfolderA/subfolderA/subfolderA /

第二次尝试:添加条件以停止无限循环:

RewriteBase /
RewriteCond %{HTTP_HOST} !subfolderA [NC]
RewriteRule ^/folder1(/.*)?$ /folder1/subfolderA$1 [L,R]

适合http://htaccess.madewithlove.be/但不适合我的服务器。 结果:
www.domain.com/folder1/subfolderA/subfolderA/subfolderA/subfolderA/subfolderA(未更改)

第三次尝试:使用$ after' folder1'

RewriteBase /
RewriteCond %{HTTP_HOST} !subfolderA [NC]
RewriteRule ^/folder1/$ /folder1/subfolderA/ [L,R]

结果:
故宫
日志说:"找不到匹配的DirectoryIndex(index.html,index.htm,index.php,index.php3,index.phtml,index.shtml,index.wml),以及Options禁止的服务器生成的目录索引指令"

如果我添加到网址" index.php"或" index.html"结果是" 404 Not found" (实际上这是真的)。​​

我不知道还能做什么。我希望得到你的帮助 这是一个不可思议的重定向吗? 谢谢。

2 个答案:

答案 0 :(得分:0)

您可以在folder1中创建一个index.php或index.html页面,将用户重定向到子文件夹

例如index.php可以包含以下代码

              <?php
                header("location: subfolderA");
                 ? >

答案 1 :(得分:0)

我找到正确的方法:P .htaccess文件如下所示:

RewriteBase /
RewriteCond %{REQUEST_URI} !subfolderA [NC]
RewriteRule ^/?folder1(/.*)?$ /folder1/subfolderA$1 [L,R]

由于我不会在浏览器中更改网址(必须看到“www.domain.com/folder1/”),我会从最后一行删除“,R”。

我希望它可以帮助别人。