使用.htaccess进行分页

时间:2014-08-10 11:39:24

标签: php .htaccess

我想在分页系统下重写我的动态PHP页面。我在PHP环境中。我尝试使用.htaccess但没有正常工作的代码。

我的动态网页: mysite/article.php?scid=9&page=1

page=2page=3等等。

我希望它们是静态的:

mysite/mobile-phone_technical-spec_google-nexus-1

mysite/mobile-phone_technical-spec_google-nexus-2
等等。 (每个id具有不同的名称)

1 个答案:

答案 0 :(得分:0)

我认为有两种方法可以解决这个问题。取决于您能够修改代码的位置。


我会修改article.php以接受title作为参数。在article.php里面将标题翻译成你想要的ID。

article.php?title=mobile-phone_technical-spec_google-nexus&p=2

然后你的重写规则可能是:

RewriteRule ^mysite/([^/]+)/([0-9]+)/?$ article.php?title=$1&p=$2 [L,QSA]

示例article.php.htaccess添加到pastebucket

<强> B:

其次,您可以在.htaccess文件中使用RewriteMap来调用自定义Perl脚本,该脚本将执行从标题到ID的转换。 在文件系统中创建一个脚本文件(即getid.pl),返回标题的id。

RewriteMap title2id prg:/www/bin/getid.pl 
RewriteRule ^mysite/([^/]+)/([0-9]+)/?$  article.php?id=${title2id:$1}&p=$2

我认为如果可以,你应该避免使用Alt.B,导致次优脚本可能会带来更多风险和潜在的性能问题。