我在本地Xampp服务器上安装了一个使用Yii Framework的php脚本。如何将此网址http://localhost/magicweb/home/shop/client-name-1更改为http://localhost/magicweb/client-name-1?有什么简单的方法可以使用.htaccess执行此操作,或者我需要使用Yii控制器执行此操作?我是php和yii框架的新手。
答案 0 :(得分:1)
上面的扩展名在您的业务供应商表中添加了一个“slug”列(我认为是商店),并在创建或更新记录时更新该列。您将使用“slug”列作为URL中的唯一ID来显示供应商的信息。例如:/ mc-donalds,/ starbucks或/ burger-king。
'<slug:[-a-zA-Z]+>' => 'vendor/view',
上述规则将指向“供应商”控制器和“查看”操作,在操作中,您将指定一个从url获取的slug参数,然后您将使用此slug查询“shop”记录并显示其信息查看。
你需要一个slugify功能:
public static function getSlug($string)
{
//remove any '-' from the string they will be used as concatonater
$str = str_replace('-', ' ', $string);
$str = self::removeAccent( $string );
// remove any duplicate white, and ensure all characters are alphanumeric
$str = preg_replace( array('/\s+/', '/[^A-Za-z0-9\-]/'), array('-', ''), $str);
// lowercase and trim
$str = trim(strtolower($str));
return $str;
}
您将通过localhost / magicweb / mc-donalds,localhost / magicweb / starbucks或localhost / magicweb / burger-king进入供应商页面