【发布时间】:2015-07-31 13:59:13
【问题描述】:
我在 mod rewrite 上的第一次爆炸。我在下面有这个可怕的链接,它会将您带到个人资料页面。在个人资料页面上,我根据 i 参数获取用户。
<a href="engineer-profile.php?country=<?php echo str_replace(' ','-',strtolower($row['country']));?>&area=<?php echo str_replace(' ','-',strtolower($row['area'])); ?>&i=<?php echo $row['id'];?>&name=<?php echo str_replace(' ','-',strtolower($row['name']));?> " class="btn btn-md btn-bitbucket"><i class="fa fa-user"></i> View Profile</a>
我一直在尝试重写一个模组,所以链接如下所示
/uk/southport/23/公司名称/
到目前为止,我的 .htaccess 文件中有这个
RewriteEngine on
RewriteRule ^/?([a-zA-Z_]+)/([a-zA-Z_]+)/([a-zA-Z_]+)/([a-zA-Z_]+)$ engineer-profile.php?country=$1&area=$2&i=$3&name=$4 [L]
现在,如果我重组我的链接,它看起来如下:
<a href="/<?php echo str_replace(' ','-',strtolower($row['country']));?>/<?php echo str_replace(' ','-',strtolower($row['area'])); ?>/<?php echo $row['id'];?>/<?php echo str_replace(' ','-',strtolower($row['name']));?> " class="btn btn-md btn-bitbucket"><i class="fa fa-user"></i> View Profile</a>
我收到一个找不到页面的错误。我也试过了
<a href="engineer-profile/<?php echo str_replace(' ','-',strtolower($row['country']));?>/<?php echo str_replace(' ','-',strtolower($row['area'])); ?>/<?php echo $row['id'];?>/<?php echo str_replace(' ','-',strtolower($row['name']));?> " class="btn btn-md btn-bitbucket"><i class="fa fa-user"></i> View Profile</a>
我还检查了 mod rewrite 是否打开,它与基本测试一起工作正常。有人可以解释一下我哪里出了问题以及如何解决吗?
【问题讨论】:
-
您的号码 (23) 与
[a-zA-Z_]+)不匹配。
标签: php apache .htaccess mod-rewrite url-rewriting