带有apache 2.4的CodeIgniter mod_rewrite

时间:2016-02-01 04:41:25

标签: php apache .htaccess codeigniter mod-rewrite

我无法让mod_rewrite与CodeIgniter一起工作。我正在运行apache 2.4。

我的网站根目录是/ Users / Jason / Development / www

这是我目前在.htaccess文件中的代码,该文件与我的主index.php文件位于同一目录中。

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /myapp/
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>

<IfModule !mod_rewrite.c>
  ErrorDocument 404 /index.php
</IfModule>

我做错了什么?我一直在得到一个404页面,说明在这台服务器上找不到请求的URL。

1 个答案:

答案 0 :(得分:2)

Options -Indexes +FollowSymLinks

RewriteEngine On
RewriteBase /

 # exclude any paths that are not codeigniter-app related
RewriteCond %{REQUEST_URI} !^/server-status
RewriteCond %{REQUEST_URI} !^/server-info
RewriteCond %{REQUEST_URI} !^/docs

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

<IfModule mod_php5.c> 
    RewriteRule ^(.*)$ index.php/$1 [L]    
 </IfModule>    

# the following is for rewritting under FastCGI
<IfModule !mod_php5.c>    
    RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>

基于sigmoid https://www.npcglib.org/~stathis/blog/2013/08/12/apache-tip-rewriting-urls-with-apache-2-4-php-fpm-mod_fastcgi_handler-codeigniter/