简单的.htaccess重写规则但不能正常工作

时间:2015-04-21 09:48:08

标签: apache .htaccess mod-rewrite

我试图重写一个网址,但有些东西不能正常工作,我得到按摩

  

未找到   在此服务器上找不到请求的URL /1/1.html。

这就是我在.htaccess中所拥有的

Options +FollowSymLinks
RewriteEngine On

RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f

RewriteRule ^/([^/]*)/([^/]*)\.html$ /view.php?id=$1&name=$2 [L]

这是此案例的href链接

href="/'.$row['id'].'/'.$row['name'].'.html"

知道为什么会这样吗?

1 个答案:

答案 0 :(得分:2)

您必须删除规则中的前导斜杠

RewriteRule ^([^/]+)/([^/]+)\.html$ /view.php?id=$1&name=$2 [L]

只有在直接在httpd.conf而不是.htaccess文件中编写规则时,才需要在规则中使用前导斜杠。

如果我没有犯错,你还需要它Apache 2.4