您的位置:首页 > 编程语言 > PHP开发

Thinkphp URL重写IndexAction 访问异常

2014-10-26 16:12 393 查看
问题: thinkphp 框架,除了IndexAction.class.php 里面的index 方法可以访问(站点的默认首页),再去访问Index控制器其他方法的时候就访问不了.....

win7 安装的集成环境wamp

开启apache的路由重写,网上资料很多,这里随便找个就不说明了http://cxc359170248.blog.163.com/blog/static/11540731320112246113181/

.htaccess配置文件,去掉index.php

# Helicon ISAPI_Rewrite configuration file
# Version 3.1.0.104
#RewriteEngine on
#RewriteCond %{REQUEST_FILENAME} !-d
#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteRule ^(.*)$ index.php/$1 [QSA,R,L]

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>


这个是我之前apache的配置

<VirtualHost *:80>
DocumentRoot "E:\Wamp\wamp\client
ServerName web.com
<Directory "E:\Wamp\wamp\client>
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Order allow,deny
Allow from all
</Directory>

</VirtualHost>


之前在别的机子就是这样配置的没有异常,换了一台机器就这样,第一反应以为apache 的路由没有启动,就访问了别的控制器的方法,测试没有问题,

通过打印
 print_r(C('DEFAULT_GROUP') . '-' . GROUP_NAME . '-' .  MODULE_NAME . '-' .  ACTION_NAME);
发现Index控制器除了的index方法正常,其他方法访问的结果异常 方法名字= MODULE_NAME, ACTION_NAME默认都是index
原因是apache的配置问题使得$_SERVER['PATH_INFO']服务器变量的值产生变化,<pre name="code" class="html">就只这句Options Indexes FollowSymLinks MultiViews,注释掉就OK了...




参考文章 : Apache Options Indexes FollowSymLinks详解
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: