这是我的文件夹结构:
我希望能够通过网址sub1
访问子文件夹website.com/sub1
,我设法在.htaccess
website/
下添加以下内容:
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} -f
RewriteRule ^(.*)$ main/sub1/$1 [L,QSA]
但是你可以猜到,没有运气,即使我删除了另一个,也没有真正的文件进入第二个区块。
答案 0 :(得分:0)
尝试:
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]