首頁 > 後端開發 > php教程 > 在CI htaccess里面如何写这个重写规则?

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

WBOY
發布: 2016-06-06 20:25:58
原創
1093 人瀏覽過

我目前使用的是CodeIgniter,apache服务器

我现在想要的效果是

http://p.com/?p=1545 可以解析到 http://p.com/main/index?p=1545

一直没写成功,求指教下

这是我写的:

<code><ifmodule mod_rewrite.c>
    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]
</ifmodule></code>
登入後複製
登入後複製

回复内容:

我目前使用的是CodeIgniter,apache服务器

我现在想要的效果是

http://p.com/?p=1545 可以解析到 http://p.com/main/index?p=1545

一直没写成功,求指教下

这是我写的:

<code><ifmodule mod_rewrite.c>
    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]
</ifmodule></code>
登入後複製
登入後複製

在Rewrite中默认规则收集是不带参数的,就是问好后面的部分,所以你的需求可以转换为这样:

/ -> /main/index

对应的Rewrite 规则为:

<code><ifmodule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^/$ /main/index [QSA,PT,L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php/$1 [L]
</ifmodule>
</code>
登入後複製

请测试

<code><ifmodule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ /main/index/$1 [L]
</ifmodule></code>
登入後複製
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板