Apache .htaccess将css/js/images重写到子文件夹

Apache .htaccess将css/js/images重写到子文件夹,apache,.htaccess,mod-rewrite,Apache,.htaccess,Mod Rewrite,我真的认为应该已经有一条关于这个的线索了,但我没能找到 假设我有一个这样结构的网站: /index.php /.htaccess /template /template/css /template/css/foo.css 我正在使用.htaccess将所有内容重定向到index.php RewriteEngine on RewriteBase / RewriteRule ^(.*)$ index.php?0=$1 [QSA,L] 现在我对css有一个问题。我可以通过在/template中放置

我真的认为应该已经有一条关于这个的线索了,但我没能找到

假设我有一个这样结构的网站:

/index.php
/.htaccess
/template
/template/css
/template/css/foo.css
我正在使用.htaccess将所有内容重定向到index.php

RewriteEngine on
RewriteBase /
RewriteRule ^(.*)$ index.php?0=$1 [QSA,L]
现在我对css有一个问题。我可以通过在/template中放置另一个.htaccess来修复此问题

RewriteEngine off
Options -Indexes
然后使用访问css文件,但实际上我更希望

因此,我尝试在/.htaccess中输入以下代码(这不起作用)。我做错了什么

RewriteEngine on
RewriteBase /
RewriteRule ^/css/(.*) www/css/$1 [L]
RewriteRule ^/js/(.*) www/js/$1 [L]
RewriteRule ^(.*)$ index.php?0=$1 [QSA,L]

注意:我在/template中没有任何.htaccess

您应该删除css文件夹中的htaccess文件。您只需要排除对模板目录的重写。您可以在单个文件中完成所有操作:

RewriteEngine on
RewriteBase /

RewriteCond %{DOCUMENT_ROOT}/template/%{REQUEST_URI} -f
RewriteRule ^(.*)$ /template/$1 [L]

RewriteCond ${REQUEST_URI} ^/template/
RewriteRule ^(.*)$ index.php?0=$1 [QSA,L]

第一条规则处理对css目录的请求,第二条规则是路由到index.php的规则,除非请求是针对模板的。

您应该删除css文件夹中的htaccess文件。您只需要排除对模板目录的重写。您可以在单个文件中完成所有操作:

RewriteEngine on
RewriteBase /

RewriteCond %{DOCUMENT_ROOT}/template/%{REQUEST_URI} -f
RewriteRule ^(.*)$ /template/$1 [L]

RewriteCond ${REQUEST_URI} ^/template/
RewriteRule ^(.*)$ index.php?0=$1 [QSA,L]
第一条规则处理对css目录的请求,第二条规则是路由到index.php的规则,除非请求是针对模板的。

Hi首先感谢您(:我不确定这里的回答是否正确,但我不知道还有其他地方。因此,现在我有index.php.htaccess www/www/css/www/css/test.css www/img/www/js/www/js/test.js in.htaccess。我有这样一个:RewriteEngine on RewriteBase/RewriteCond%{DOCUMENT_ROOT}/css/{REQUEST_URI}-f RewriteRule^(.*)$/www/css/$1[L]RewriteCond%{DOCUMENT ROOT}/js/%{REQUEST_URI}-f RewriteRule^(.*)$/www/js/$1[L]RewriteCond%{DOCUMENT_ROOT}/img/%{REQUEST_URI}-f RewriteRule^(.*)$/www/img/$1[L]RewriteRule^(.*)index.php?0=$1[QSA,L]怎么了?嗨,首先谢谢(:我不确定这里的回答是否正确,但我不知道还有其他地方。因此,现在我有index.php.htaccess www/www/css/www/css/test.css www/img/www/js/www/js/test.js in.htaccess。我有这样一个:RewriteEngine on RewriteBase/RewriteCond%{DOCUMENT_ROOT}/css/{REQUEST_URI}-f RewriteRule^(.*)$/www/css/$1[L]RewriteCond%{DOCUMENT ROOT}/js/%{REQUEST_URI}-f RewriteRule^(.*)$/www/js/$1[L]RewriteCond%{DOCUMENT_ROOT}/img/%{REQUEST_URI}-f RewriteRule^(.*)$/www/img/$1[L]RewriteRule^(.*)index.php?0=$1[QSA,L]怎么了?