Apache重写路由,隐藏index.php在本地环境失效
巴扎黑
巴扎黑 2017-05-16 16:58:54
0
1
741
  1. 本地的httpd.conf文件的LoadModule rewrite_module modules/mod_rewrite.so已经开启

  2. 根目录下的.htaccess文件重写规则如下:

<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>

  1. config.php文件中已经设置:'URL_MODEL' => 2,

发布到服务器上访问:http://域名/admin可以正确访问,但是在本地测试环境,将应用根目录虚拟域名之后访问:
http://inurse.com/admin报错:
404 NOT Found
The requested URL /Admin/Org/orgAdd was not found on this server.
想请问这是为什么呢?Apache重写路由规则的原理是什么(通俗易懂的解释)?
另:重写规则已经尝试过:
RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]
RewriteRule ^(.*)$ index.php?s=/$1 [QSA,PT,L]

巴扎黑
巴扎黑

全部回复(1)
曾经蜡笔没有小新

楼主,你的配置好像有误:
1、下面的配置应该是 apache 的配置 httpd.conf
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>

2、.htaccess 配置只需要中间的:
RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]

建议用第二种方式;

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板