PHP-Apache rewrite 如何设置文件存在则不rewrite
404页面是一个单纯的静态htm页面保存在/404page/404.html文件夹里面
为了不让跳转到404页面的时候被rewrite照成循环重定向。我下了如下规则(在httpd.conf里)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^/(.*) /index.php?a=$1 [QSA,L]
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
其实不用rewrite就可以
ErrorDocument 404 http://你的域名/404page/404.html
这样写试试
好吧,我已經知道原因了。原因就是httpd.conf所認的路徑和.htaccess的路徑不一樣導致的。
我的rewrite是寫在了httpd.conf中,如果寫在.htaccess中是正常的。那是因為.htaccess是以他當前所在的目錄進行查找,所以就正常了,如果在httpd.conf中寫的話需要加上路徑或者使用%{DOCUMENT_ROOT}來規劃搜索路徑這樣才能正常使用
为了不让跳转到404页面的时候被rewrite照成循环重定向,这句没看太懂,为啥会循环重定向,只要你404是像ErrorDocument 404这样写的。
大致觉得可以再加一个:RewriteCond %{REQUEST_FILENAME} !-d试试