.htaccess 多个内部重定向到文件夹中的不同索引
我是htaccess的新手,我正在寻找一种方法来获得一个内部重定向,将2个URL设置到不同的文件夹.htaccess 多个内部重定向到文件夹中的不同索引,.htaccess,redirect,internal,.htaccess,Redirect,Internal,我是htaccess的新手,我正在寻找一种方法来获得一个内部重定向,将2个URL设置到不同的文件夹 example.com/cms/ 而/cms/后面的所有内容都需要转到 rootfolder->cms example.com/(其余页面) 需要转到 rootfolder->public尝试将其添加到文档根目录中的htaccess文件中: RewriteEngine On RewriteCond %{REQUEST_URI} !^/cms RewriteCond %{REQUEST_URI} !
example.com/cms/
而/cms/后面的所有内容都需要转到rootfolder
->cms
example.com/
(其余页面)需要转到
rootfolder
->public
尝试将其添加到文档根目录中的htaccess文件中:
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/cms
RewriteCond %{REQUEST_URI} !^/public
RewriteCond %{REQUEST_URI} !-f
RewriteCond %{REQUEST_URI} !-d
RewriteRule ^(.*)$ /public/$1 [L]
基本上:
- 如果请求是针对
,则直接将其解析为/cms
/cms
- 如果请求已针对
,请直接解决它/public
- 如果请求是针对现有文件或目录的,则让其解析
- 否则,重写请求,在URI前面追加一个
/public
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/cms
RewriteCond %{REQUEST_URI} !^/public
RewriteCond %{REQUEST_URI} !-f
RewriteCond %{REQUEST_URI} !-d
RewriteRule ^(.*)$ /public/$1 [L]
基本上:
- 如果请求是针对
,则直接将其解析为/cms
/cms
- 如果请求已针对
,请直接解决它/public
- 如果请求是针对现有文件或目录的,则让其解析
- 否则,重写请求,在URI前面追加一个
/public
index.html
或index.php
文件不,两个文件夹中都有index.php。但是我注意到了一些事情。当我导航到/public时,它不会给出错误,但当我转到根url时,它会给出一个403错误。@Controvi不确定为什么会发生这种情况,请尝试在上的重写引擎之后添加此规则:RewriteRule^$/public/index.php[L]
Thnks以获取清晰的示例:)我现在无法测试,但今晚将尝试。又来了。我刚发现重定向到公用文件夹会给我一个403错误?我知道这是一个禁止的错误,但是你知道如何修复这个问题吗?@Controvi你是否关闭了目录索引,或者在/public/?中缺少了index.html
或index.php
文件不,两个文件夹中都有index.php。但是我注意到了一些事情。当我导航到/public时,它不会给出错误,但当我转到根url时,它会给出403错误。@Controvi不确定为什么会出现这种情况,请尝试在上的重写引擎之后添加此规则:重写规则^$/public/index.php[L]