0
我是新的Yii2所以我有品牌表及其類型('brand', 'author', 'company')
和他們的蛞蝓的名字,所以我需要像www.site.com/{brand_type}/{brand_slug}
的URL沒有控制器的名稱,以便該怎麼做?如何在Yii2中自定義網址?
我是新的Yii2所以我有品牌表及其類型('brand', 'author', 'company')
和他們的蛞蝓的名字,所以我需要像www.site.com/{brand_type}/{brand_slug}
的URL沒有控制器的名稱,以便該怎麼做?如何在Yii2中自定義網址?
這通常被稱爲漂亮的URL。要做到實現在Yii2把這個在您的應用程序配置文件'components'
項下
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [
// ...
'<type:\w+>/slug:\w+>' => 'yourcontroller/youraction',
// ...
],
],
的結果是,當你傳遞的格式的URL指定,您的控制器將$type
和$slug
,你可以使用參數控制器預計將採取以下形式:
class YourcontrollerController extends YourBaseController
{
...
public function actionYouraction($type, $slug)
{
// Do whatever you want with these variables
}
...
}
請注意,您將需要您的Web服務器配置執行你的應用程序的index.php
即使它不是在URL中。對於Apache可以做到這一點,例如,使用.httaccess (More details here):
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php
根據您的答案,我們需要添加規則每個金屬芯優良的部分? –
不,'$'蛞蝓變量還有'$ type'變量將提供給任何你想要 – mmonem
感謝您的回覆控制器做。對不起,這讓我感到困惑。如果你不介意,你可以用控制器方法更新你的答案。 –