我目前使用的是CodeIgniter,apache服务器
我现在想要的效果是
http://p.com/?p=1545 可以解析到 http://p.com/main/index?p=1545
一直没写成功,求指教下
这是我写的:
<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>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /main/index/$1 [L]
</IfModule>
在Rewrite中默认规则收集是不带参数的,就是问好后面的部分,所以你的需求可以转换为这样:
/ -> /main/index
对应的Rewrite 规则为:
<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>
请测试