我在网站的子目录中有以下.htaccess文件,它允许我将所有的URL路由到index.PHP,在这里我可以解析它们.
但是,它不允许我需要的网站的标准文件,例如css,javascript,png等
我需要改变什么(我假设在第四行)允许这些文件,以便他们不被路由到index.PHP?
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重定向通常如下所示:
原文链接:https://www.f2er.com/php/131226.htmlRewriteRule ^(.*)$index.PHP?params=$1 [L,QSA]
ErrorDocument 404 /index.PHP RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$index.PHP?params=$1 [L,QSA]
要使站点忽略特定的扩展,您可以添加一个条件来忽略大小写,只能检查请求中文件名的结尾:
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]
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]