我想从以下内容重写我的网址:
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脚本中存在逻辑错误。谢谢你,奥拉夫!
答案 0 :(得分:1)
htaccess可以简化,但到目前为止看起来都是正确的。问题必须是edit.php
脚本。
N.B。:您可以将两个规则缩减为一个规则
RewriteRule ^([a-zA-Z0-9-]+)/?$ edit.php?proname=$1 [L,QSA]
但这并不能解决您的问题。