.htaccess问题...
时间:2007-09-25
来源:互联网
我现在已经实现:http://www.test.com/abc转向http://www.test.com/index.php?m=abc,重写规则是重要写的:
RewriteRule ^(.*?)$ index.php?m=$1 [QSA,L]
但我现在要实现http://www.test.com/abc/1转向http://www.test.com/index.php?m=abc&id=1时的重写规则怎么写啊?
RewriteRule ^(.*?)/(.*?)$ index.php?m=$1&id=$2 [QSA,L] 这样写错了...
RewriteRule ^(.*?)$ index.php?m=$1 [QSA,L]
但我现在要实现http://www.test.com/abc/1转向http://www.test.com/index.php?m=abc&id=1时的重写规则怎么写啊?
RewriteRule ^(.*?)/(.*?)$ index.php?m=$1&id=$2 [QSA,L] 这样写错了...
作者: PConline 发布时间: 2007-09-24
有谁知道为什么吗?谢谢啊
作者: PConline 发布时间: 2007-09-25
我把整个.htaccess的文件内容贴出来吧。。。
Options -Indexes
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*?)$ index.php?m=$1 [QSA,L]
#RewriteRule ^(.*?)/([0-9]+)$ index.php?m=$1&rid=$2 [QSA,L]
我现在怀疑是因为 RewriteBase / 这个的问题导致的,他可能在转向的时候并没有转向
我网站的根目录,只是在我请求的url中最后那个“/”所在的目录,如果是这样那我的
改那个地方,那么那个地方又要怎么改呢?
Options -Indexes
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*?)$ index.php?m=$1 [QSA,L]
#RewriteRule ^(.*?)/([0-9]+)$ index.php?m=$1&rid=$2 [QSA,L]
我现在怀疑是因为 RewriteBase / 这个的问题导致的,他可能在转向的时候并没有转向
我网站的根目录,只是在我请求的url中最后那个“/”所在的目录,如果是这样那我的
改那个地方,那么那个地方又要怎么改呢?
作者: PConline 发布时间: 2007-09-27
楼主你的.htaccess写得很正确。。。
只是有一点你忽略了,RewriteRule是从上往下依次执行的,而且你每一条都有L
abc/123这样的url也会匹配第一条RewriteRule是不是?[L]之后第二条自然不会执行了。
试试这个
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*?)/([0-9]+)$ index.php?m=$1&rid=$2 [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*?)$ index.php?m=$1 [QSA,L]
只是有一点你忽略了,RewriteRule是从上往下依次执行的,而且你每一条都有L
abc/123这样的url也会匹配第一条RewriteRule是不是?[L]之后第二条自然不会执行了。
试试这个
引用:
Options -IndexesRewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*?)/([0-9]+)$ index.php?m=$1&rid=$2 [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*?)$ index.php?m=$1 [QSA,L]
作者: charlee 发布时间: 2007-10-10
谢谢。。。这样是可以的。。。呵呵
作者: PConline 发布时间: 2007-10-11
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28