【发布时间】:2014-08-08 01:19:27
【问题描述】:
大家好,我的一个网站有问题。今天我决定将我所有的网址更改为更美观的东西。我现在遇到的问题是如何摆脱空格。这是链接现在的样子“http://website.com/repair/iphone%205s”
这是我的 .htaccess
<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 的 url 将是“repair/iphone%205s” 这是我使用 _GET 的 php 代码声明返回该特定模型的所有修复。
<?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”替换为“http://website.com/repair/iphone_5s”
感谢任何帮助,我们将不胜感激。
【问题讨论】:
标签: php mysql .htaccess mod-rewrite friendly-url