--begin by itlife365
使用thinkphp做的项目,现在要做静态URL怎样把URL里的空格转成-thinkphp做的项目,现在要做静态URL,但是URL有空格的地方会自动转义成asii码,
例如:itlife365 COM
静态后应为 itlife-365.html
现在却是 itlife%20365.html,怎样把URL里的空格转成-,现在用的是 $url=str_replace(' ','-',urldecode($name),这样每个URL都要判断替换一次比较麻烦,我想用.htaccess控制,把URL里的%20就是空格转换成-,应怎样设置,
以下是当前使用.htaccess配置
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>
我的网站是jiandanjie.com 简单街
百度了好久,找不到好的解决方法,最后在数据库添加一个别名字段namealias 来保存别名,而且对特殊字符进行处理,
参考如下:
******
$namealiasTemp1= str_replace(" ", "-", urldecode($imageTitleArr[1]));
$namealiasTemp2= preg_replace('/[~!@#$%^&*()
]+/i','',$namealiasTemp1);//删除换行符等特殊字符
//过滤特殊字符 只能使用半角字母、数字、下划线和减号 ,防止url出错
//str_replace的效率比preg要高。
$data_collect['namealias'] = $namealiasTemp2;//not null 文章别名
******
how-htaccess-change-blank-to-
--end by itlife365