如何使用.htaccess在Yii2框架中创建干净的URL?

时间:2016-03-22 17:25:26

标签: php apache .htaccess mod-rewrite yii2

我正在尝试使用Yii2框架仅使用.htaccess为我的网站制作干净的网址。我知道我可以使用Yii2的urlmanager类。但由于某些特定的原因,我无法使用它,只想使用.htaccess制作干净的网址。

我想转换以下网址:    网址='http://localhost:8090/index.php?r=site%2Fcontact'  至   Url ='http://localhost:8090/contact'

提前致谢。

1 个答案:

答案 0 :(得分:0)

首先,您必须更改yii2 app config中的urlManager组件:

'urlManager' => [
    'enablePrettyUrl' => true,
    'showScriptName' => false,
]

showScriptName 会从网址格式

中删除index.php

enablePrettyUrl 将提供漂亮的网址格式,例如" http://localhost/contant"你想要的)

其次,您需要在主机配置中设置URL重写规则。 .htaccess(Apache)的示例:

RewriteEngine on
# If a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Otherwise forward it to index.php
RewriteRule . index.php

您可以在Yii2 documentation

中阅读更多内容