yii2中如何实现伪静态
1个回答
展开全部
Apache服务器的配置
修改httpd.conf配置文件
将LoadModule rewrite_module modules/mod_rewrite.so前面的注释#号去掉。
添加如下内容
<Directory "path/to/basic/web">
# use mod_rewrite for pretty URL support
RewriteEngine on
# If a directory or a file exists, use the request directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Otherwise forward the request to index.php
RewriteRule . index.php
# ...other settings...
</Directory>
注意其中的path/to/basic/web修改成你的根目录,最后不要忘记重启apache服务器。
Nginx服务器的配置
修改nginx.conf配置文件,在域名对应的server{}内添加如下内容
location / {
# Redirect everything that isn't a real file to index.php
try_files $uri $uri/ /index.php$is_args$args;
}12341234
最后不要忘记重载配置文件。
yii2代码的配置
修改config/web.PHP,在components数组中添加如下内容(去掉前后的注释)
'components' => [
...
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [
],
],
...
],
这时再刷新网页,就能看到连接的形式发生了改变。此时默认会将/index.php?r=controller/action这样的形式修改为/controller/action(如果含有参数,则将/index.php?r=controller/action&...改为/controller/action?...)。
为了更好的将链接个性化配置,可以参照如下例子,在rules这个空的数组中添加相应的内容。
文章列表
/index.php?r=post/index
添加'post'=>'post/index'
通过id查看文章
/index.php?r=post/view&id=123
添加'post/<id:\d+>'=>'post/view'
其中\d+等价于[0-9]+
通过标题查看文章
/index.php?r=post/view&title=hello-world
添加'post/<title:\w+>'=>'post/view'
其中\w+等价于[A-Za-z0-9_]+
最后config/web.php可能如下所示
'components' => [
...
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [
'post'=>'post/index',
'post/<id:\d+>'=>'post/view',
],
],
...
],
修改httpd.conf配置文件
将LoadModule rewrite_module modules/mod_rewrite.so前面的注释#号去掉。
添加如下内容
<Directory "path/to/basic/web">
# use mod_rewrite for pretty URL support
RewriteEngine on
# If a directory or a file exists, use the request directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Otherwise forward the request to index.php
RewriteRule . index.php
# ...other settings...
</Directory>
注意其中的path/to/basic/web修改成你的根目录,最后不要忘记重启apache服务器。
Nginx服务器的配置
修改nginx.conf配置文件,在域名对应的server{}内添加如下内容
location / {
# Redirect everything that isn't a real file to index.php
try_files $uri $uri/ /index.php$is_args$args;
}12341234
最后不要忘记重载配置文件。
yii2代码的配置
修改config/web.PHP,在components数组中添加如下内容(去掉前后的注释)
'components' => [
...
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [
],
],
...
],
这时再刷新网页,就能看到连接的形式发生了改变。此时默认会将/index.php?r=controller/action这样的形式修改为/controller/action(如果含有参数,则将/index.php?r=controller/action&...改为/controller/action?...)。
为了更好的将链接个性化配置,可以参照如下例子,在rules这个空的数组中添加相应的内容。
文章列表
/index.php?r=post/index
添加'post'=>'post/index'
通过id查看文章
/index.php?r=post/view&id=123
添加'post/<id:\d+>'=>'post/view'
其中\d+等价于[0-9]+
通过标题查看文章
/index.php?r=post/view&title=hello-world
添加'post/<title:\w+>'=>'post/view'
其中\w+等价于[A-Za-z0-9_]+
最后config/web.php可能如下所示
'components' => [
...
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [
'post'=>'post/index',
'post/<id:\d+>'=>'post/view',
],
],
...
],
Storm代理
2023-08-29 广告
2023-08-29 广告
"StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,I...
点击进入详情页
本回答由Storm代理提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询