或htaccess URL重写的条件

时间:2015-09-22 11:29:21

标签: php .htaccess

我已在.htaccess manage_districts.php文件中对RewriteRule ^manageDistricts/([0-9]+)/?$ manage_districts.php?editid=$1 [NC,L] RewriteRule ^manageDistricts/([0-9]+)/?$ manage_districts.php?delid=$1 [NC,L] 进行了网址重写,如下所示:

editid

在这里你可以看到,对于编辑和删除操作,我有一个相同的页面,所以,而不是为同一个文件编写相同的规则我想写一个我可以通过的规则delid以及带有 OR条件RewriteRule ^manageDistricts/([0-9]+)/?$ manage_districts.php?(editid|delid)=$1 [NC,L]

我已经尝试过这种语法,

header.php

但它不起作用。

1 个答案:

答案 0 :(得分:1)

您无法对两个不同的操作使用相同的网址。因此,添加第二个参数,其值为"编辑"或"删除"。

RewriteRule ^manageDistricts/edit/([0-9]+)/?$ manage_districts.php?editid=$1 [NC,L]
RewriteRule ^manageDistricts/delete/([0-9]+)/?$ manage_districts.php?delid=$1 [NC,L]

在你的HTML中:

<a href="<?php echo COLLEGE_INFO_ADMIN_BASE_PATH ?>manageDistricts/edit/<?php echo $row['id']?>" title="Edit">Edit</a>

<a href="<?php echo COLLEGE_INFO_ADMIN_BASE_PATH ?>manageDistricts/delete/<?php echo $row['id']?>" onClick="return confirm('Are you sure,You want to delete this Record?');" title="Delete">Delete</a>