您好,欢迎访问一九零五行业门户网

在CI htaccess里面如何写这个重写规则?

我目前使用的是codeigniter,apache服务器
我现在想要的效果是
http://p.com/?p=1545 可以解析到 http://p.com/main/index?p=1545
一直没写成功,求指教下
这是我写的:
rewriteengine on rewriterule ^\?p=(\w+)$ /main/index?p=$1 [qsa,pt,l] rewritecond %{request_filename} !-f rewritecond %{request_filename} !-d rewriterule ^(.*)$ index.php/$1 [l]

回复内容: 我目前使用的是codeigniter,apache服务器
我现在想要的效果是
http://p.com/?p=1545 可以解析到 http://p.com/main/index?p=1545
一直没写成功,求指教下
这是我写的:
rewriteengine on rewriterule ^\?p=(\w+)$ /main/index?p=$1 [qsa,pt,l] rewritecond %{request_filename} !-f rewritecond %{request_filename} !-d rewriterule ^(.*)$ index.php/$1 [l]

在rewrite中默认规则收集是不带参数的,就是问好后面的部分,所以你的需求可以转换为这样:
/ -> /main/index
对应的rewrite 规则为:
rewriteengine on rewriterule ^/$ /main/index [qsa,pt,l] rewritecond %{request_filename} !-f rewritecond %{request_filename} !-d rewriterule ^(.*)$ index.php/$1 [l]
请测试
rewriteengine on rewritecond %{request_filename} !-f rewritecond %{request_filename} !-d rewriterule ^(.*)$ /main/index/$1 [l]
其它类似信息

推荐信息