问题描述
我目前正在调整我的 .htaccess 文件,但需要帮助。
所有的 URL 都应该被重定向。
大字符应该转换成小字符。 如果被调用地址存在,则直接调用该文件。 所有其他不存在的地址都应该转发到 Index.PHP。
www.example.com/test1/test2/test3.html
example.com/TeST1/TEST2/test3.html
www.example.com/test1/test2/test3
转发应始终调用 Index.PHP,地址行中应包含以下内容:
http://example.com/test1/test2/test3.html
如果我有变量 (example.com/TeST1/TEST2/test3.html?id=6&test=hello
) 这些当然也应该被转移。
为了使我的 CSS 文件和图像可以正确集成,我想我必须停用某些文件类型的转发。 以下文件夹应从重定向中排除:css、media、img
RewriteEngine on
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^.*$ /index.PHP [L,QSA]
有人可以编写文件或帮助我吗?
解决方法
试试:
RewriteEngine On
RewriteMap lc int:tolower
RewriteCond ${REQUEST_FILENAME} !-d
RewriteCond ${REQUEST_FILENAME} !-f
RewriteRule (.*[A-Z].*) /${lc:$1} [R=302,L]
# if you encounter double slashes,remove the slash before ${lc...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ /index.html [QSA,L]