修改.htaccess的重写规则
来源:互联网 发布:python excel数据处理 编辑:程序博客网 时间:2024/06/01 07:57
在修复公司项目的时候,遇到一个问题:
点击主页面的login按钮,前往另一个登录页面的时候。
地址栏重复出现:
http://127.0.0.1/sr/127.0.0.1/sr/login/127.0.0.1/oir/127.0.0.1/oir/127.0.0.1/oir/127.0.0.1/oir/127.0.0.1/oir/127.0.0.1/oir/127.0.0.1/oir/127.0.0.1/oir/127.0.0.1/oir/127.0.0.1/oir/127.0.0.1/oir/127.0.0.1/oir/127.0.0.1/oir/127.0.0.1/oir/127.0.0.1/oir/127.0.0.1/oir/127.0.0.1/oir/127.0.0.1/oir/127.0.0.1/oir/Oops
这样的错误。
在网上讨教了高人以后,指示我去看apache的error_log。觉得这一招真的很不错,是debug的重要步骤。这招赶紧学起来。然后在测试服务器的log上看到一个值得注意的地方:
Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.
在网上查看了一下这个问题,提到要用LogLevel去做debug。
我在正式服务器上也找了一下,也发现了一模一样的error。看来这个地方跟那个重复的url有关。
参考这个http://40era.com/1718/ 资料以后,发现在httpd.conf文件里添加以下这两句之后,apache无法正常重启。估计是apache新版本更新屏蔽了。
RewriteLogLevel 3RewriteLog "/var/log/httpd/rewrite.log"
于是删掉这两句,继续查找可以查看log的相关设置。在stackoverflow里面找到了apache官网的资料:
http://httpd.apache.org/docs/2.4/mod/mod_rewrite.html#logging
LogLevel alert rewrite:trace3
将这句加入以后,apache重启成功。然后到logs/error.log下面查看这个trace3打印出来的错误。如上面那个40era所说的,有url的重复。因为是搭建在本地环境。都是127.0.0.1。所以我在.htaccess里加入了这句话:
RewriteCond %{HTTP_HOST} !^127.0.0.1 [NC]
然后再重启了apache。发现那条错误消失了。而且我回到首页点击login登陆按钮的时候,竟然可以进入那个项目的登录页面!只不过没有css样式,图片以及还是load不到js库。不过不会像之前一样回到主页面而且url重复。url显示也正常。真是一个不小的进展。
然而还剩下一个问题就是依然load不到css/img/js这三个。看来还是跟.htaccess有关。继续查看相应的措施。
找到出问题的地方了。
在最外围的htaccess,原来的$会自动更改为#,一旦更改为后者,css/js/img这些原来位于public文档下的就会失效。
被修改的.htaccess内容如下(带#):
<IfModule mod_rewrite.c> RewriteEngine on RewriteRule ^# apg/public/ [L] RewriteRule (.*) apg/public/#1 [L]</IfModule>
正常的.htaccess应该为(带$):
<IfModule mod_rewrite.c> RewriteEngine on RewriteRule ^$ apg/public/ [L] RewriteRule (.*) apg/public/$1 [L]</IfModule>
然后开始艰苦卓绝的继续查error_log工程……
最后同事帮我解决了这个问题,说是apache底层服务的某几个so模块被我重启apache太多次弄坏了。所以导致htaccess的重定向异常。他重新编译了那几个so模块。就修复了这个问题。整个apache都被他扒光了一个个地排查。他说这是他第一次遇到这种问题。真是服了我了。
总而言之。问题解决了好开心,撒花!
- 修改.htaccess的重写规则
- .htaccess -------------的重写规则,
- .htaccess的重写规则
- .htaccess的重写规则
- .htaccess的重写规则 .htaccess基本语法和应用
- .htaccess的重写规则 .htaccess基本语法和应用
- .htaccess重写规则
- .htaccess重写规则解析
- 如何让IIS支持Apache .htaccess 的重写规则
- Apache htaccess Minify 正式环境不访问的重写规则
- Apache重写规则由浅入深剖析.htaccess
- Apache重写规则由浅入深剖析.htaccess
- htaccess 的正则规则
- .htaccess 的正则规则
- ThinkPHP3.2.3的URL重写时遇到No input file specified的解决方法,htaccess规则问题
- ThinkPHP3.2.3的URL重写时遇到No input file specified的解决方法,htaccess规则问题
- htaccess 正则规则整理常见的htaccess的正则规则
- .htaccess 重写
- web.config文件详解
- No row with the given identifier exists 解决方法
- [JQuery学习笔记]——之一
- 在centos7 ubuntu15.04 上通过bosh-lite 搭建单机环境cloudfoundry
- 图片滚动代码
- 修改.htaccess的重写规则
- 数据库索引的作用和优点缺点
- Inno Setup 实现自定义文件类型的安装脚本
- 整合:图论存图方法及三种重要做法分析(Kruskal Dijkstra Bellman-Ford)
- Quartz异常的一些处理
- 为什么用‘=’符号代表赋值,而不是‘:=’或‘==’?
- 如何选择靠谱的短信验证码服务商
- sql server日期时间函数
- POJ 1840 --EQS