我认为你们可以帮助我,我把这个.htacces文件一起重新组合起来并且它有效但现在我似乎无法让它工作。 它的工作原理如下:
localhost / dasds.gif - >本地主机/的index.php?Q = dasds.gif
localhost / asd.bla - >本地主机/的index.php?Q = asd.bla
RewriteEngine on
RewriteRule ^(.*) index.php
RewriteCond %{THE_REQUEST} ^[A-Z]+\ /[^?\ ]*\.php[/?\ ]
RewriteRule .*\.php$ -[L,R=404]
我希望你能帮助我。
答案 0 :(得分:1)
好的,让我(试着)把它读给你
RewriteEngine on
RewriteRule ^(.*) index.php
RewriteCond %{THE_REQUEST} ^[A-Z]+\ /[^?\ ]*\.php[/?\ ]
RewriteRule .*\.php$ -[L,R=404]
第2行 重写^(以...开头)(。*)捕获任何东西(包括什么都没有)使它成为index.php
第3行 条件继续,如果请求^(开头)[A-Z] +(多于1个大写字母)a \(反斜杠)a''(空格)a /(正斜杠),[^?\] *(不是)a?或反斜杠(\)或''(空格)(] *)0次或更多次,.php后跟[/?\]正斜杠a?或者一次反斜杠。
第4行
重写。*匹配$(结束于).php
的任何内容(包括任何内容)使其成为 - 重定向到404错误
这可能不是100%正确,但应该相当接近。
你可以做这样的事情(虽然不能测试)
RewriteCond %{REQUEST_URI} !-f
RewriteRule ([^/]+) index.php?q=$1 [L]
如果是真实文件,请发送到index.php(捕获名称)放入查询字符串q
Mod重写可能是真正的痛苦。这是一篇关于基础知识https://www.addedbytes.com/articles/for-beginners/url-rewriting-for-beginners
的精彩文章