2013-07-29 1 views
1

У меня есть этот корень документа /var/www/example, а затем внутри этого каталога у меня есть файл test.php, а также мой другой проект, так что структура проекта выглядит следующим образом404 URL не найден, когда местоположение папки перемещается (HTAccess)

/Var/WWW/пример

├── .htaccess (Obs) 
├── classes  
├── config 
├── controllers 
├── public 
│   ├── admin 
│   │   └── index.php 
│   ├── css 
│   ├── index.php 
│   └── js 
├── test.php (Obs! not managed by .htaccess) 
└── views 

.htaccess

Options +FollowSymLinks 
AddDefaultCharset UTF-8 
RewriteEngine On 

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

RewriteRule ^admin[/]?$ /example/admin/login [redirect] 
RewriteRule ^admin/([a-zA-Z]+)/?([a-zA-Z0-9/]*)$ public/admin/index.php?page=$1&query=$2 [L] 
RewriteRule ^([a-zA-Z]+)/?([a-zA-Z0-9/]*)$ public/index.php?page=$1&query=$2 [L] 

Недавно я перенес проект с сервера MAMP, работающего на локальном хосте, на сервер, управляемый доменом. Когда я пытаюсь мой

test.php

файл, он работает и echo "It works", как intendended, но когда я пытаюсь работает мой сайт оно это не распространяется.

error.log

[Mon Jul 29 18:02:52 2013] [error] [client 83.248.93.217] script '/var/www/example/index.php' not found or unable to stat 
[Mon Jul 29 18:02:52 2013] [error] [client 83.248.93.217] File does not exist:  /var/www/favicon.ico 
[Mon Jul 29 18:03:02 2013] [error] [client 83.248.93.217] File does not exist: /var/www/example/bordsoversikt 
[Mon Jul 29 18:03:02 2013] [error] [client 83.248.93.217] File does not exist: /var/www/favicon.ico 

Мой контроллер отображает некоторые из сайтов по именам соответствующих файлов, как так

содержания client_router всех вызовов проходит через index.php, как htaccess и затем к маршрутизатору ...

public function initialize_routes() { 
$this->routes = array(
    "bordsoversikt" => "page_table_overview", 
    "bordsreservation" => "page_table_reservation", 
    "reservationsprocess" => "script_reserve_form", 
    "registrering" => "page_registration", 
    "registreringsprocess" => "script_register_form", 
    "lyckadregistrering" => "page_successfull_signup", 
    "login" => "page_login", 
    "logout" => "script_logout", 
    "profil" => "page_home", 
    "klientlogin" => "script_login", 
    "profil" => "page_profile", 
    "sparaprofil" => "script_edit_profile_changes" 
); 

Предполагаю, может быть что-то не так с моим файлом htaccess, почему я разместил содержимое, или что-то не так с моим файлом apache2.config. Но Im совершенно новый по настройке apache, поэтому я не буду пытаться публиковать его части, поскольку я, вероятно, разместил бы некритические части. Может кто-нибудь, пожалуйста, помогите мне. Благодаря

+0

Пожалуйста, объясните **, что ** не удается! Проверьте файл apache 'error.log'! –

+0

все в порядке, отредактировал вопрос .. – patriques

+0

Вы уверены. .Htaccess используется apache? – Marek

ответ

1
  1. Убедитесь, что ваш файл Htaccess может быть прочитан апача (например, на Linux, chmod 644 /var/www/example/.htaccess)

  2. Убедитесь, что ваш виртуальный хост или сервер конфигурации позволяет переопределение:

    AllowOverride FileInfo 
    

    или еще лучше

    AllowOverride All   
    
  3. Что-то менее вероятно, но просмотрите файлы конфигурации сервера/vhost для команды под названием AccessFilename. Обычно это .htaccess по умолчанию, но если это что-то другое, вам нужно либо изменить его на .htaccess, либо переименовать файл в соответствии с директивой.

+0

Да, спасибо! На самом деле это была проблема. Мне нужно было разрешить мой хост AllowOverride All. Но там, где много поклонников. Если у кого-то есть такая же проблема, я предлагаю вам найти тот, который релевант на вашем сайте, был, например, в/var/apache2/sites-enabled/000-default – patriques

Смежные вопросы