我在网站的子目录中有以下.htaccess文件,它允许我将所有的URL路由到index.PHP,在这里我可以解析它们.
但是,它不允许我需要的网站的标准文件,例如css,javascript,png等
我需要改变什么(我假设在第四行)允许这些文件,以便他们不被路由到index.PHP?
@H_403_5@RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond $1 !^(index\.PHP|public|css|js|png|jpg|gif|robots\.txt) RewriteRule ^(.*)$index.PHP/params=$1 [L,QSA] ErrorDocument 404 /index.PHP
我注意到了您正在使用正斜杠而不是问号… params重定向通常如下所示:
@H_403_5@RewriteRule ^(.*)$index.PHP?params=$1 [L,QSA]
@H_403_5@ErrorDocument 404 /index.PHP
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$index.PHP?params=$1 [L,QSA]
要使站点忽略特定的扩展,您可以添加一个条件来忽略大小写,只能检查请求中文件名的结尾:
@H_403_5@RewriteEngine On RewriteCond %{REQUEST_URI} !(\.css|\.js|\.png|\.jpg|\.gif|robots\.txt)$[NC] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$index.PHP?params=$1 [L,QSA] @H_403_5@RewriteEngine On RewriteCond %{REQUEST_URI} !(public|css) RewriteCond %{REQUEST_URI} !(\.css|\.js|\.png|\.jpg|\.gif|robots\.txt)$[NC] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$index.PHP?params=$1 [L,QSA]