2015-04-21 82 views
1

我试图重写一个URL,但事情并不如必须努力,我得到按摩简单的.htaccess重写规则,但不能正常工作

未找到 所请求的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" 

任何想法,这是为什么?

回答

2

您必须删除斜线在规则

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

只有当你直接在httpd.conf写它,而不是.htaccess文件你需要在你的规则领先斜线。

你也需要它,直到Apache 2.4如果我不犯错

+0

谢谢你的答案。那么现在的CSS样式,因为它消失... – John

+0

啊是的..我的错误。再次感谢! – John

+1

这是因为您已经使用您的规则创建了一个虚拟目录。你所要做的就是为你所有的html资源使用绝对路径。你也可以在所有关注页面的''html标签后面加上