我有一个htaccess文件应该重写something.com/viewpost/post/5
到index.php?action=viewpost&post=5
之类的内容并且工作正常,但如果url有更多查询,则会出现404错误。
我的.htaccess
RewriteEngine On
RewriteRule ^([a-zA-Z0-9-=_?]+)/?$ index.php?action=$1
RewriteRule ^([a-zA-Z0-9-=_?]+)/([a-zA-Z0-9-=_?]+)/([a-zA-Z0-9-=_?]+)/?$ index.php?action=$1&$2=$3 #Rewrites urls like /viewpost/post/5
RewriteRule ^([a-zA-Z0-9-=_?]+)/([a-zA-Z0-9-=_?]+)/([a-zA-Z0-9-=_?]+)/([a-zA-Z0-9-=_?]+)/([a-zA-Z0-9-=_?]+)/?$ index.php?action=$1&$2=$3&$4=$5 #rewrites URLs like /viewpost/post/5/mode/lock
我首先想到的问题是,较短的重写是停止较长的重写,但我删除它并得到相同的结果。
我对htaccess很新,所以据我所知,这对我来说是独一无二的,除非其他人使用与我相同的系统。我确实谷歌我的问题,发现没有什么看起来像我自己的。
编辑:我忘了问,如果这是因为/ viewpost / post / 5是有效的,那么继续进行会导致查找目录吗?更新:现在它突然没有工作了。此外,该网站是cloudflare,这会有问题吗?
答案 0 :(得分:0)
我想这与FileZilla有关。虽然文件已经存在,但文件没有上传,并且服务器上的文件中有注释和缺少的行。