Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.htaccess 多个内部重定向到文件夹中的不同索引_.htaccess_Redirect_Internal - Fatal编程技术网

.htaccess 多个内部重定向到文件夹中的不同索引

.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} !

我是htaccess的新手,我正在寻找一种方法来获得一个内部重定向,将2个URL设置到不同的文件夹

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

尝试将其添加到文档根目录中的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

举个明确的例子:)我现在不能测试,但今晚会试试。又来了。我刚发现重定向到公用文件夹会给我一个403错误?我知道这是一个禁止的错误,但是你知道如何修复这个问题吗?@Controvi你是否关闭了目录索引,或者在/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]