2014-01-30 6 views
3

Я следую за быстрым стартом laravel, и он сказал "type /users", но не работает для меня. я написал в браузере, http://DomainServer/ProjectName/users и бросает:Запрошенный URL/имя_проекта/пользователей не найден на этом сервере. Laravel

Запрашиваемые URL/ProjectName/пользователи не найден на этом сервере. Laravel

Я попытался следующий,

Для включения модуля апачского mod_rewrite, а также не работает.

+0

пожалуйста, вставьте строки в '.htaccess' файл – Luceos

ответ

1

Попробуйте указать браузеру http://DomainServer/ProjectName/public/users - папка «public» является точкой входа «по умолчанию» для вашего приложения Laravel.

33

Шаги для веб-сервера Apache и Laravel в среде Linux.

  1. Открыть httpd.conf

    sudo vim /etc/httpd/conf/httpd.conf 
    # for debian users: /etc/apache2/apache2.conf 
    
  2. Убедитесь, что DocumentRoot указывает на общественный каталог Laravel проекта

  3. Добавьте элемент каталога для этого пути и AllowOverride All ... в следует

    DocumentRoot "/var/www/html/laravel/public/" 
    
    <Directory "/var/www/html/laravel/public"> 
    Allowoverride All 
    </Directory> 
    
  4. Ope п .htaccess из ../laravel/public/ и убедитесь, что он имеет следующие

    <IfModule mod_rewrite.c> 
    <IfModule mod_negotiation.c> 
    Options -MultiViews 
    </IfModule> 
    
    RewriteEngine On 
    
    # Redirect Trailing Slashes... 
    RewriteRule ^(.*)/$ /$1 [L,R=301] 
    
    # Handle Front Controller... 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule^index.php [L] 
    </IfModule> 
    
  5. Restart HTTPd услуги

    sudo service httpd restart 
    
  6. Теперь http://DomainServer/users будет работать в вашем браузере.

+1

'/и т.д./HTTPD/CONF/httpd.conf' Это Безразлично На моем сервере не существует ... я должен просто создать его самостоятельно и следовать инструкциям? Пожалуйста, помогите – Haseeb

+1

Для пользователей Mac, пожалуйста? – Chlebta

+2

В Debian файл 'httpd.conf':'/etc/apache2/apache2.conf'; в противном случае эти инструкции были на месте! –

1

URL по умолчанию имеют префикс «index.php» перед вашей страницы, если вы пытаетесь .../государственные/index.php/your_page он будет работать, так что вам нужно добавить модуль перезаписи, если вы используя appache написать свой адрес без этого префикса

+0

Этот «ответ» заставляет меня видеть, что это была моя проблема. Просто чтобы расширить его, если вы считаете, что сможете сделать что-то вроде 'http: // DomainServer/ProjectName/users', но это не работает, попробуйте' http: //DomainServer/ProjectName/index.php/ пользователей (или, может быть, 'http: // DomainServer/ProjectName/public/index.php/users'). Если это работает, то у вас есть проблема, что ответ, выше, исправляет! –

4

Сначала найдите файл Htaccess в проекте Laravel

затем добавьте следующую кодировку в файле .htaccess

<IfModule mod_rewrite.c> 
<IfModule mod_negotiation.c> 
    Options -MultiViews 
</IfModule> 

RewriteEngine On 

# Redirect Trailing Slashes... 
RewriteRule ^(.*)/$ /$1 [L,R=301] 

# Handle Front Controller... 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule^index.php [L] 

сохранить файл Htaccess

и перезапустить сервер Apache, используя следующий код

sudo service apache2 restart 

запомнить файл Htaccess и файл index.php должен быть доступен в той же папке в проекте

1

Убедитесь у вас есть mod_rewrite включен в Apache.

+0

спасибо Pankaj ,. это должно быть первым, что нужно проверить. –

4

Найти httpd.conf и изменить <Directory> элемент из

<Directory "/var/www/html/"> 
Allowoverride None 
</Directory> 

в

<Directory "/var/www/html/"> 
Allowoverride All 
</Directory> 

Затем он работает после перезапуска Apache без изменения DocumentRoot.

+0

Это работает. вы меняете время –

0

Для меня я включил mod_rewrite, и это сработало для меня хорошо. Включение mod_rewrite для Apache: кд/и т.д./apache2/сайты-доступных/ Судо a2enmod перепишут

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