Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.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
Apache 使用htaccess重定向到特定的子文件夹_Apache_.htaccess_Mod Rewrite_Url Rewriting_Subdirectory - Fatal编程技术网

Apache 使用htaccess重定向到特定的子文件夹

Apache 使用htaccess重定向到特定的子文件夹,apache,.htaccess,mod-rewrite,url-rewriting,subdirectory,Apache,.htaccess,Mod Rewrite,Url Rewriting,Subdirectory,以下是我的文件夹结构: 网站 主要的 sub1 sub2 我希望能够通过URLwebsite.com/sub1访问子文件夹sub1,我通过在网站/下的.htaccess中添加以下内容来实现此目的: RewriteCond %{REQUEST_URI} /sub1/(.*)$ RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule (.*)$ main/sub1/in

以下是我的文件夹结构:

  • 网站
    • 主要的
      • sub1
      • sub2
我希望能够通过URL
website.com/sub1
访问子文件夹
sub1
,我通过在
网站/
下的
.htaccess
中添加以下内容来实现此目的:

RewriteCond %{REQUEST_URI} /sub1/(.*)$
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*)$ main/sub1/index.php?view=$1 [QSA,L]
我的问题是,尽管可以访问
index.php
,但它一直都被访问,即使是
.js
.css
文件也是如此。因此,我尝试在之前添加以下规则(尽管我认为我之前通过我的
!-f
条件排除了这些文件):

但正如你所猜测的,运气不好,即使我删除了另一个块,也没有实际文件进入第二个块。

试试:

RewriteCond %{REQUEST_URI} ^/sub1/(.*)$
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{DOCUMENT_ROOT}/main/%{REQUEST_URI} -f
RewriteRule ^(.*)$ /main/$1 [L]
那么你的老规矩是:

RewriteCond %{REQUEST_URI} /sub1/(.*)$
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*)$ main/sub1/index.php?view=$1 [QSA,L]

谢谢你,效果很好!我甚至可以在
main
中的其他子文件夹中重复使用它;我进行了测试,我只需要在我的“旧规则”中做一些调整就可以了。我认为你的文件根和/主要/想法非常棒。
RewriteCond %{REQUEST_URI} /sub1/(.*)$
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*)$ main/sub1/index.php?view=$1 [QSA,L]