首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >url中的Mod_rewrite返回空间

问url中的Mod_rewrite返回空间
EN

Stack Overflow用户
提问于 2014-06-17 21:43:38
回答 1查看 43关注 0票数 0

你好,伙计们,我和我的一个网站有问题。今天我决定把我所有的网址都换成更像样的东西。我现在面临的问题是如何摆脱这些空间。下面是链接现在"http://website.com/repair/iphone%205s“的外观

这是我的.htaccess

代码语言:javascript
复制
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine on
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d
RewriteRule ^([a-z]+)\/?$ $1.php [NC,L]
RewriteRule ^smartphone/([a-z]+)/?$ devices.php?d=$1 [L]
RewriteRule ^tablet/([a-z]+)/?$ tablet.php?d=$1 [L]
RewriteRule ^repair/([0-9a-zA-Z_\s]+)/?$ repair.php?m=$1 [L]
RewriteRule ^repair/tablet/([0-9a-zA-Z_\s]+)/?$ repairtablet.php?m=$1 [L]
RewriteRule ^repair/ipod/([0-9a-zA-Z_\s]+)/?$ repairipod.php?m=$1 [L]
</IfModule>

url是使用我在数据库中拥有的每部手机的模型名构建的,它们包含空格,例如,iPhone 5s将具有“修复/iphone%205 s”的url,这里是我的php代码,在这里我使用一个_GET语句返回该特定模型的所有修复。

代码语言:javascript
复制
<?php
        $model = mysqli_escape_string($con, $_GET['m']);
        $modelName = mysqli_query($con,"SELECT
        d.id AS 'DeviceID',
        d.model AS 'Model',
        r.id AS 'RepairID',
        r.repair AS 'Repair',
        r.price AS 'Price',
        r.desc AS 'Desc',
        r.active AS 'Active',
        r.img AS 'IMG'
        FROM `tablets` AS d
        LEFT JOIN `tabletrepair` AS r ON
        (d.`id` = r.`pid`)
        WHERE d.`model` =  '$model'
        AND r.`active` = 1 
        ");
    while($row = mysqli_fetch_array($modelName))
    {
          echo $row[Model];
              echo $row[Desc];
              echo $row[Price];
              echo $row[IMG];



    }

    ?>

我想把"http://website.com/repair/iphone%205s“改为"5s”

谢谢您的帮助,我们会很高兴的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-17 21:53:48

当您基于$_GET'm‘值创建WHERE子句时,您可以使用str_replace替换所有空格,另外(我不确定是否有必要)您应该解码url ( $_GET'm’contains %20而不是‘')。也不记得mysql转义或切换到PDO,或其他高级数据库操作库。

代码语言:javascript
复制
$model = str_replace(" ","_",rawurldecode($_GET['m']));

参考文献

  1. http://www.php.net/manual/en/function.rawurldecode.php
  2. http://pl1.php.net/manual/en/function.str-replace.php
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24273796

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档