日期:2014-05-17  浏览次数:20517 次

向各位求助,伪静态去掉index.php的问题
如:将www.abc.com/index.php/list-3-3 通过伪静态改成了www.abc.com/list-3-3

但是改完以后再访问www.abc.com/index.php/list-3-3网址时却回到主页了,

请问各位有什么跳转到新地址 www.abc.com/list-3-3的方法,谢谢



iis环境下的httpd.ini文件:

[ISAPI_Rewrite]

# 3600 = 1 hour

CacheClockRate 3600

RepeatLimit 32

# Protect httpd.ini and httpd.parse.errors files

# from accessing through HTTP
RewriteBase /
RewriteRule ^(js/.*\.html$) $1 [L]
RewriteRule ^(.*).html$ /index.php/$1 [L] 

------解决方案--------------------
RewriteRule ^(.*)$ /index.php/$1 [L]  

------解决方案--------------------
怎么不行呢

我的跟你的一样。

我是nginx。
rewrite ^/(.*)$ /index.php/$1 last;
------解决方案--------------------
rewrite ^/www.abc.com\/(.*)\/(.*)$ www.abc.com/$2 [L]
------解决方案--------------------
新地址不是自动跳转的

而是你程序中,根据伪静态规则,生成的URL,超链接
------解决方案--------------------
伪静态只是规则,你不能将它作为死的!!

我的意思是:比如你虽然配好了伪静态,但是页面中的某个连接为:www.abc.com/index.php/list-3-3

那么就算你写好了伪静态那也是没用的!!!
------解决方案--------------------
如果你是Apache,httpd.conf 配置文件中加载了mod_rewrite.so 模块。。。而且还要将AllowOverride None 将None 改为 All。。。最后你要确定你的系统支持url重写。。这样就可以去掉index.php了。
------解决方案--------------------
我用的是WINDOWS,IIS的,因为LINUX下没有WINDOWS效率高,