本地的httpd.conf文件的LoadModule rewrite_module modules/mod_rewrite.so已经开启
根目录下的.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>
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、下面的配置应该是 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]
建议用第二种方式;