Php 使用.htaccess重写URL
我对url重写一点也不熟悉,所以我可能有一个简单的问题要问一些了解这方面的人。 我有一个电子商务网站,目前项目的url看起来像这样 www.blizuecomm.net/www/item.php?id=399&item-NAME 我在分类页面上得到这样的URL,代码如下Php 使用.htaccess重写URL,php,apache,.htaccess,mod-rewrite,Php,Apache,.htaccess,Mod Rewrite,我对url重写一点也不熟悉,所以我可能有一个简单的问题要问一些了解这方面的人。 我有一个电子商务网站,目前项目的url看起来像这样 www.blizuecomm.net/www/item.php?id=399&item-NAME 我在分类页面上得到这样的URL,代码如下 <a href="item.php?id=<?=$values[$i]['gitemid']?>&<?=cleanString($values[$i]['gname'])?> 最简
<a href="item.php?id=<?=$values[$i]['gitemid']?>&<?=cleanString($values[$i]['gname'])?>
最简单的方法可能是使其看起来像:www.blizuecomm.net/www/id/ITEM-NAME
,因为否则您的ITEM.php
脚本将无法获得id。这需要您将其添加到www
文件夹中的htaccess文件:
RewriteEngine On
RewriteBase /www/
RewriteCond %{THE_REQUEST} \ /www/item\.php\?id=([0-9]+)&([^&\ ]+)
RewriteRule ^ %1/%2? [L,R=301]
RewriteRule ^([0-9]+)/(.*)$ item.php?id=$1&$2 [L,QSA,NE]
www.blizuecomm.net/www/id/ITEM-NAME?id=id&ITEM-NAME我是缺少什么东西还是应该搜索代码中的错误?Thanks@sz_tech很抱歉,我在%2
的末尾漏掉了一个问号,谢谢Jon像我问的那样工作,你知道我应该检查什么吗?现在URL重写成功后,我可以看到我的样式和图像在页面上不起作用。@sz_tech或者将样式/图像的链接设为绝对URL,或向页眉添加相对基数:
(或任何基数)
RewriteEngine On
RewriteBase /www/
RewriteCond %{THE_REQUEST} \ /www/item\.php\?id=([0-9]+)&([^&\ ]+)
RewriteRule ^ %1/%2? [L,R=301]
RewriteRule ^([0-9]+)/(.*)$ item.php?id=$1&$2 [L,QSA,NE]