使用.htaccess用url替换空格(%20)

时间:2013-04-21 15:23:43

标签: .htaccess url-rewriting

我在.htaccess中重写网址时遇到了问题。我的网址数据来自数据库,其中也包含一些空格。我想从我的网址中省略空格,并希望用破折号替换它。

目前我正在使用目前的.htacess ...

http://www.xyz.com/detail-10-Event%20Tickets.html

我希望将其替换为

http://www.xyz.com/detail-43-61-Event-Tickets.html(这就是我想要的。)

请找到.htaccess的代码,并建议我应该采取哪些措施来解决这个问题。

Options +FollowSymLinks
<IfModule mod_rewrite.c>
    RewriteEngine On

    RewriteRule uploadPRODUCT-(.*)-(.*)-(.*).html$ uploadPRODUCT.php?cid=$1&aid=$2&tid=$3

    RewriteRule ab-(.*)-(.*).html$ products.php?cid=$1&cname=$2 
    RewriteRule detail-(.*)-(.*)-(.*).html$ productDETAILS.php?cid=$1&aid=$2&pname=$3


    RewriteRule (.*)-(.*).html$ cms.php?name=$1&cmsid=$2



    errorDocument 404 http://www.xyz.com/notfound.php 
    errorDocument 500 http://www.xyz.com/500error.html

    RewriteCond %{http_host} ^xyz.com.com [NC]

    RewriteRule ^(.*)$ http://www.xyz.com/$1 [R=301,L] 


</IfModule>

1 个答案:

答案 0 :(得分:0)

由于您从数据库条目创建URL,我将在URL创建时替换空格。您可以将str_replace用于此

$url = str_replace(' ', '-', $db_column);