十万火急:隐藏的index.php时遇到的问题。先谢谢大家啦! [ 2.0 版本 ]
首先说说我怎么做的。(高级模板)
1:在 项目根目录/frontend/web下放置名为.htaccess内容的
Options +FollowSymLinks
IndexIgnore */*
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
的文件。
2:在 项目根目录/frontend/config/main.php文件中配置如下代码:
'components' => [
//基本配置的代码
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules'=>[
'<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
],
],
],
最后我的apache服务器的LoadModule rewrite_module modules/mod_rewrite.so这一行配置是有的。
遇到的问题是:访问网站首页以外其他文件是出现404错误
我是这样访问的。
若:域名是mi.com
http://mi.com
可以访问
http://mi.com/site/signup
报404错误
因为原本是这样的http://mi.com/frontend/web/index.php?r=site/signup
,我在apache中设置了网站根目录/frontend/web
为根目录,网址变成这样http://mi.com/index.php?r=site/signup
现在我隐藏index.php
之后应当是http://mi.com/site/signup
却没办法访问
恳请各位可以花2分钟看一下!谢谢大家了!
最佳答案
-
修改apache配置文件:
去掉"LoadModule rewrite_module modules/mod_rewrite.so"前的"#" 将相对应目录的"AllowOverride None"改为"AllowOverride All" 将"<VirtualHost *:80>……</VirtualHost>"中的"AllowOverride None"改为"AllowOverride All"(或者删除) 重启apache
共 2 条回复bryson 觉得很赞
其他 3 个回答
奔跑的孩子
注册时间:2015-08-22
最后登录:2015-10-03
在线时长:0小时56分
最后登录:2015-10-03
在线时长:0小时56分
- 粉丝1
- 金钱15
- 威望0
- 积分15