微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 htaccess 文件中使用 modrewrite 进行 URL 转发

如何解决在 htaccess 文件中使用 modrewrite 进行 URL 转发

我目前正在调整我的 .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]

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。