.htaccess URL重写问题:使用相同的变量重写URL

时间:2013-04-19 06:23:33

标签: apache .htaccess url-rewriting

我想从以下内容重写我的网址:

http://domain.com/edit.php?proname=abc

为:

http://domain.com/abc

这是我目前在.htaccess中的重写代码:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z0-9-]+)$ edit.php?proname=$1 [L,QSA]
RewriteRule ^([a-zA-Z0-9-]+)/$ edit.php?proname=$1 [L,QSA]

代码'有点'有效。问题是它使用相同的变量重写所有“编辑”URL。 例如,我有一个包含三个项目的表,每个项目都有一个“编辑”按钮。当我单击项目2或3的“编辑”按钮时,它会引导我进入项目1的编辑页面。所有编辑链接将我引导到第一个项目的编辑页面。

可能导致什么原因?

已解决:原来PHP脚本中存在逻辑错误。谢谢你,奥拉夫!

1 个答案:

答案 0 :(得分:1)

htaccess可以简化,但到目前为止看起来都是正确的。问题必须是edit.php脚本。

N.B。:您可以将两个规则缩减为一个规则

RewriteRule ^([a-zA-Z0-9-]+)/?$ edit.php?proname=$1 [L,QSA]

但这并不能解决您的问题。