2013-03-30 5 views
0

У меня проблема, что мой проект работает очень хорошо на окнах (на сервере Apache), затем я переместил свой проект на ubuntu 12.04 (apache2 сервер), но мой проект не работает.Запрашиваемый URL/frontend/ru/site/login/не найден на этом сервере

apache2

PHP 5.3.10

MySQL 5.5.29-ubuntu0.12.04.2

на поджигатель:

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> 
<html><head> 
<title>404 Not Found</title> 
</head><body> 
<h1>Not Found</h1> 
<p>The requested URL /frontend/ru/site/login/ was not found on this server.</p> 
<hr> 
<address>Apache/2.2.22 (Ubuntu) Server at test.local Port 80</address> 
</body></html> 

Но у меня есть URL /frontend/ru/site/login/.

main.php:

// uncomment the following to define a path alias 
Yii::setPathOfAlias('site',dirname(__FILE__).DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR.'..'); 

// This is the main Web application configuration. Any writable 
// CWebApplication properties can be configured here. 
return array(
    'basePath'=>dirname(__FILE__).DIRECTORY_SEPARATOR.'..', 
    'name'=>'Biotrack Backend', 
    'language' => 'ru', 
    'defaultController'=>'company/list', 

    // preloading 'log' component 
    'preload'=>array('log', 'ELangHandler'), 

    // autoloading model and component classes 
    'import'=>array(
     'site.common.models.*', 
     'site.common.components.*', 
     'application.models.*', 
     'application.components.*', 
     'application.components.helper.*', 
     'application.modules.rights.*', 
     'application.modules.rights.components.*', 
    ), 

    'modules'=>array(

     'gii'=>array(
      'class'=>'system.gii.GiiModule', 
      'password'=>'795138462', 
      // If removed, Gii defaults to localhost only. Edit carefully to taste. 
      'ipFilters'=>array('127.0.0.1','::1'), 
      'generatorPaths'=>array(
       'site.common.gii', // псевдоним пути 
       //'application.gii', 
      ), 
     ), 

     'webshell'=>array(
      'class'=>'ext.webshell.WebShellModule', 
      // when typing 'exit', user will be redirected to this URL 
      'exitUrl' => '/', 
+4

Показать ваш congif/код основного файла –

+0

yep, некоторые проблемы cfg здесь; apache никогда не ошибается –

+0

покажите мне, пожалуйста, конфигурацию виртуального хоста и конфигурацию приложения – mkjasinski

ответ

8

Вы не дает достаточно информации, поэтому мы должны догадаться, но я абсолютно уверен, что проблема заключается в апача модуле перезаписи. Прежде всего, убедитесь, что ваш файл .htaccess содержит следующее:

RewriteEngine on 

# if a directory or a file exists, use it directly 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

# otherwise forward it to index.php 
RewriteRule . index.php 

Далее, убедитесь, что модуль переписан включен:

a2enmod rewrite 

И, наконец, убедитесь, что апач настроен на разрешение. Htaccess наиважнейшая:

AllowOverride All 

Смотрите здесь для получения дополнительной информации о AllowOverride директивы: http://httpd.apache.org/docs/2.2/mod/core.html#allowoverride

+0

этот .htaccess файл должен быть в /web/ ex. /frontend/web/.htaccess –

5

Просто выстрел в темноте, но, как вы упомянули:

шляпа мой проект работает очень хорошо на окнах (на сервер Apache), то я переехал мой проект Ubuntu 12.04 (apache2 сервер)

Пожалуйста, проверьте использование капитала и небольших начальных букв ваших правил перезаписи, путей и т. Д., Они должны точно совпадать, когда вы находитесь в Linux, поскольку Linux обычно использует файловую систему с учетом регистра, в то время как многие Windows и Mac установок нет.

0

Если вы думаете, что вы проверили конфигурацию вашего веб-сервера серьезно, и не не нашли что-то подозревая, то просто дать ему попробовать перезагрузить и перезапустить или перезагрузить Apache HTTP Server:

sudo service apache2 reload 

sudo service apache2 restart 

Не забывайте, что даже некоторые программные приложения требуют перезагрузки компьютера для установки нового обновления.