mod_rewrite没有使用CodeIgniter处理VPS

时间:2015-04-07 12:52:03

标签: php apache .htaccess codeigniter mod-rewrite

因此,从共享主机移动到VPS后,我的mod_rewrite停止工作。 我在apache中打开了mod_rewrite,但仍然没有。

1st image 2nd image

我的所有项目文件都存储在/var/www/html/project和我的htaccess:

RewriteEngine On
RewriteBase /html/project/

RewriteCond %{THE_REQUEST} \s/+(.*?)/{2,}([^\s]*)
RewriteRule ^ %1/%2 [R=302,L,NE]

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+(.+?)/{2,}[?\s] [NC]
RewriteRule ^ /%1/ [L,R=301]

RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI}  [R=301,L]

RewriteCond %{REQUEST_URI} system|application
RewriteRule ^(.*)$ index.php?/$1 [L]

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

但是mod_rewrite不想工作。我正在使用digitalocean VPS。有任何想法吗? Btw VPS安装了apache细节:14.04上的Ubuntu LAMP,我正在为我的项目使用codeigniter

2 个答案:

答案 0 :(得分:1)

经过一段时间后,我发现我还要更改/etc/apache2/apache2.conf以及其他文件。我启用了多视图http://prntscr.com/6qt89p

答案 1 :(得分:0)

你是否在没有RewriteBase的情况下尝试.htaccess。将文件/ etc / apache2 / sites-enabled / 000-default

中的 AllowOverride FileInfo 更改为 AllowOverride all
Options -Indexes +MultiViews +FollowSymLinks
RewriteEngine On
#RewriteBase /html/project/

RewriteCond %{THE_REQUEST} \s/+(.*?)/{2,}([^\s]*)
RewriteRule ^ %1/%2 [R=302,L,NE]

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+(.+?)/{2,}[?\s] [NC]
RewriteRule ^ /%1/ [L,R=301]

RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI}  [R=301,L]

RewriteCond %{REQUEST_URI} system|application
RewriteRule ^(.*)$ index.php?/$1 [L]

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