HTACCES index.php参数

时间:2015-10-13 20:51:56

标签: php .htaccess mod-rewrite url-rewriting rewrite

我的.htaccess文件有问题。


我的问题

当我使用以下网址进入我的网页时:

http://www.website.com/sys/module/photos/

我可以通过以下网址在该页面上添加一些照片:

http://www.website.com/sys/module/photos/add/10/

http://www.website.com/sys/module/photos/add/485/



现在我对index.php文件进行了分页,我想进入如下页面:

http://www.website.com/sys/module/photos/

使用以下网址转到下一页:

http://www.website.com/sys/module/photos/1/



这是我的.htaccess文件

RewriteEngine On
RewriteRule add/(.*)/$ add.php?id=$1
RewriteRule (.*)/$ index.php?page=$1



但如果我现在去http://www.website.com/sys/module/photos/add/10/,它将显示index.php文件的内容。

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

我认为您的htaccess文件位于"照片"文件夹,那么您的规则需要如下所示:

RewriteEngine On
RewriteRule ^add/([0-9]+)/?$ add.php?id=$1 [L]
RewriteRule ^([0-9]+)/?$ index.php?page=$1 [L]

您将缩小匹配范围,将捕获组限制为仅限数字。

答案 1 :(得分:0)

.htaccess应如下所示:

RewriteEngine On
RewriteRule add/(.*)/$ add.php?id=$1
RewriteRule ^$ index.php

正如评论中所述,.*会匹配所有内容,包括网址http://www.website.com/sys/module/photos/add/10/

解决方案是将底部重写规则更改为仅匹配主页(当您的路径为/时)