这是我的网址目前的样子:
http://mysite.com/?page=1
我怎样才能使这项工作?:
http://mysite.com/page/1
StackOverflow 上有一个帖子问了同样的问题。但是公认的解决方案对我不起作用。因为我正在使用 Codeigniter 并且我的页面导致 404 可能是因为 CI 站点的 url 模式是:
域/控制器/方法
系统假设我正在请求一个名为“page”的控制器和一个名为“1”的方法,这两者当然都不存在。或者也许是由于与我的 htaccess 文件中的其他代码冲突(我从 CI wiki 下载的,它摆脱了 index.php 并做了一些安全事情)。这是我的整个 htaccess 文件:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
#Removes access to the system folder by users. Additionally this will allow you to create a System.php controller, 'system' can be replaced if you have renamed your system folder.
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php?/$1 [L]
#When your application folder isn't in the system folder. This snippet prevents user access to the application folder. Rename 'application' to your applications folder name.
RewriteCond %{REQUEST_URI} ^application.*
RewriteRule ^(.*)$ /index.php?/$1 [L]
#Checks to see if the user is attempting to access a valid file, such as an image or css document, if this isn't true it sends the request to index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
#Pretty urls for pagination links
RewriteRule (.*) index.php?page=$1
</IfModule>
非缩进位是我从其他对我不起作用的 SO 问题中得到的解决方案。
这个 CI 分页问题的任何解决方案?
更新
好的,阅读一些文档,现在我有了这个工作:
http://mysite.com/home/index/2
将其变为的 htaccess 规则是什么?:
http://mysite.com/page/2