如何使用PHP删除.htaccess中的空间

时间:2014-10-18 23:48:50

标签: php mysql .htaccess redirect url-rewriting

这是php代码

$category = $_GET['category'];
    $model = $_GET['model'];
    //connect to database

         mysql_connect('localhost','user','password');
         mysql_select_db('user');


    $result = mysql_query("SET NAMES utf8"); //the main trick
    $q=mysql_query("select * from data where category='$category' And model='$model' AND TRIM(model) IS NOT NULL");

    //Adds one to the counter
     mysql_query("UPDATE daata SET counter = counter + 1 where category='$category' And model='$model'");

     //Retreives the current count
     $count = mysql_fetch_row(mysql_query("SELECT counter FROM data"));
    $row=mysql_fetch_object($q);

    echo mysql_error();


    ?>

    <table class='hovertable'><?php if($row->model):?><tr class=\"style1\"><td width='200'><b>Model:</b></td><td><?php echo $row->model ?></td></tr><?php endif; ?>
    <?php if($row->category):?><tr class=\"style1\"><td width='200'><b>Category:</b></td><td><?php echo $row->category?></td></tr><?php endif; ?></table>

我正在使用此.htaccess文件

的.htaccess

RewriteOptions inherit
RewriteRule ^([a-zA-Z0-9_-]+)-([0-9]+)\.html$ detail.php?category=$1&model=$2

显示如下

abc-123.html

并假设我有这样的空间

abc-123 xyz.html

所以它不起作用

它显示如下

abc-123%20xyz.html

但未找到结果

如果找到空间,我想要这样 然后显示像这样

abc-123-xyz.html

如果找不到空格,则显示如下

 abc-123.html

所以如何解决这个问题

请帮我解决此问题,谢谢

2 个答案:

答案 0 :(得分:0)

听起来像你正试图拥有搜索引擎优化/用户友好的网址...如果是这样的话,你必须修改网址的生成,如果有空格替换它的角色&#39; - &#39 ;.我不明白这与.htaccess ...

有什么关系

但是,您没有指定语言,也没有详细说明您是如何获得这些网址的,所以我担心这可以帮助您解决当前状态下的问题。

答案 1 :(得分:0)

如果你想要友好的URL,你最好只捕获一切入口点(如index.php)并处理PHP内的URL,而不是.htaccess,特别是因为.htaccess比php慢很多

我是这样做的:

http://www.prescia.net/bb/coding/5-141018-simple_friendly-url