2014-03-12 95 views
1

我剛剛安裝了一個帶有apache2的unbuntu web服務器。 我上傳了一個CakePHP項目。 我也激活rewrite_mod我的.htaccess不起作用

# sudo a2enmod rewrite 

雖然輸入型www.mysite.ch/pierre/contacts

其狀態

未找到請求的網址/聯繫人未在此服務器上找到。

在我的本地網絡服務器,它是wokr,我可以看到聯繫人頁面

如果我刪除我的項目,與功能的phpinfo添加文件phpinfo.php的(),它顯示了服務器的配置信息並且我沒有「未找到」消息

我懷疑我的重定向不起作用。 你覺得呢? 哪些是使Apache2服務器使用.htaccess文件的基本步驟?

這裏是我的.htaccess文件(它的默認的CakePHP文件,我還沒有改變它)

<IfModule mod_rewrite.c> 
    RewriteEngine on 
    RewriteRule ^$ app/webroot/ [L] 
    RewriteRule (.*) app/webroot/$1 [L] 
</IfModule> 

這裏是我的httpd_conf文件

<Directory /var/www/vhosts/metauxch/httpdoc> 
     Options Indexes FollowSymLinks MultiViews 
     AllowOverride None 
     Order Allow,Deny 
     allow from All 
</Directory> 

Alias /pierre /var/www/vhosts/pierre/httpdoc 
<Directory /var/www/vhosts/pierre/httpdoc> 
     Options Indexes FollowSymLinks MultiViews 
     AllowOverride None 
     Order Allow,Deny 
     allow from All 
</Directory> 

你有一些想法?

唐卡很多

回答

0

變化的AllowOverride無的AllowOverride在httpd_conf文件中的所有

啓用模式改寫,

sudo a2enmod rewrite 

重啓Apache,

sudo /etc/init.d/apache2 restart 
0

對不起,我忘了寫但我做了

sudo a2enmod rewrite 
sudo servive apache2 restart 

這樣做了。

我也改變這一切的AllowOverride

的probleme,現在當我輸入

http://eflumpc38.epfl.ch/pierre/contacts

據指出,TE控制器皮埃爾(CakePHP的)丟失。雖然皮埃爾是根,聯繫人是控制器。

第二點,當我碰杯在聯繫人(根/聯繫人/) 我有一個這樣的URL

http://eflumpc38.epfl.ch/vhosts/pierre/httpdoc/contacts

代替

http://eflumpc38.epfl.ch/pierre/contacts

做一些事情是錯在這裏

Alias /pierre /var/www/vhosts/pierre/httpdoc 
<Directory /var/www/vhosts/pierre/httpdoc> 
     Options Indexes FollowSymLinks MultiViews 
     AllowOverride All 
     Order Allow,Deny 
     allow from All 
</Directory> 

當我上載我平時的供應商相同的CakePHP謨,我沒有這個問題。

謝謝

0

試試這個解決方案。

<IfModule mod_rewrite.c> 
    RewriteEngine on 
    RewriteRule ^$ /app/webroot/ [L] 
    RewriteRule (.*) /app/webroot/$1 [L] 
</IfModule> 
CakePHP app directory (will be copied to the top directory of your application by bake): 

<IfModule mod_rewrite.c> 
    RewriteEngine on 
    RewriteRule ^$ /webroot/ [L] 
    RewriteRule (.*) /webroot/$1 [L] 
</IfModule> 
CakePHP webroot directory (will be copied to your application’s web root by bake): 

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule ^(.*)$ /index.php [QSA,L] 
</IfModule> 
+0

你好,不幸的是,他們都沒有工作。嘗試了所有這些。我沒有得到好的結果:o( – pierrot10