我目前使用的是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>