apache开启路由重写功能
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了apache开启路由重写功能相关的知识,希望对你有一定的参考价值。
参考技术A 在php程序的目录下有一个htaccess文件,这个文件起着对url重写的作用如果我们需要重写路由,则需要在
中将
中的 AllowOverride None 改成 AllowOverride All
然后重启apache
这是打开php应用会报一个505错误,解决方法是
这样就开启了apache的路由重写功能
YII框架路由配置
- 首先要在服务器配置(httpd.conf)中开启重写模块:
#开启重写模块,将其前面的#去掉 LoadModule rewrite_module modules/mod_rewrite.so #Directory中允许覆盖开启 <Directory "${SRVROOT}/htdocs"> # # Possible values for the Options directive are "None", "All", # or any combination of: # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # Note that "MultiViews" must be named *explicitly* --- "Options All" # doesn‘t give it to you. # # The Options directive is both complicated and important. Please see # http://httpd.apache.org/docs/2.4/mod/core.html#options # for more information. # Options Indexes FollowSymLinks # # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo AuthConfig Limit # AllowOverride All # # Controls who can get stuff from this server. # Require all granted </Directory>
- 在目录下加入服务器配置文件.htaccess
RewriteEngine on ############################### # @email [email protected] # @author test ############################### #重写规则 #如果是一个目录或者文件,就访问目录或者文件 RewriteCond %{REQUEST_FILENAME} !-d #如果文件存在,就直接访问文件,不进行下面的RewriteRule RewriteCond %{REQUEST_FILENAME} !-f RewriteRule . index.php
- 在框架配置项\frontend\config\main.php中加入urlManager配置项
‘urlManager‘ => [ ‘enablePrettyUrl‘ => true, ‘showScriptName‘ => false, //‘suffix‘ => ‘.html‘,//URL后缀 ],
- 对了,修改完服务器配置不要忘了重启服务器,有啥错误看服务器日志,这个很关键
以上是关于apache开启路由重写功能的主要内容,如果未能解决你的问题,请参考以下文章
Ubuntu --- lamp环境下安装php扩展和开启apache重写