2016-05-25 3 views
0

Я подтолкнул приложение laravel 5.1 к серверу. В localhost он работает правильно. но на сервере идет только домашняя страница, никаких других маршрутов не работает. Я получаю 404 не найдена ошибка не найдена. jQuery-2.1.4.min.js:4 POST http://mydomainurl/login/validate_login 404. Я чувствую, что он должен пройти до http://mydomainurl/applicationName/login/validate_login. Я не знаю, что происходит, и где я должен обновлять. Я включил режим переписывает в апач и мой .htaccess общего каталога/приложения, как показано нижеlaravel 5.1 только маршрутизация на главную страницу, все остальные маршруты наступают 404 не найдена ошибка, после размещения локального рабочего сайта на сервере

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

RewriteEngine On 

# Redirect Trailing Slashes If Not A Folder... 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)/$ /$1 [L,R=301] 

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

# Handle Authorization Header 
RewriteCond %{HTTP:Authorization} . 
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteCond  %{REQUEST_URI} !^ RewriteRule ^(.*)$ /$1 [L] </IfModule> 

Я не знаю много о .htaccess, но я скопировал из чьего-то ответа. Пожалуйста, помогите

+0

Убедитесь, что в Apache на вашем сервере включена функция mod rewrite, и ваш '.htaccess' правильный. – TheFallen

+0

, пожалуйста, покажите свою запись маршрута в файле маршрутов для 'login/validate_login'. –

+0

Наконец-то я получил решение, отвечая ниже – vikram

ответ

0

После выполнения всех вышеперечисленных модификаций, и занимаясь серфингом по сети, он не работал. Наконец я понял, что это может быть из-за проблемы с URL-адресом и только что изменил URL-адрес в ajax, например, url: "<?php echo url();?>/login/validate_login", Он начал работать потрясающе. Просто на локальном хосте просто работает url: "login/validate_login",. . Все, что нужно сделать: 1: переместите содержимое общих папок в корневую папку вашего сервера (назовите его что угодно, например: var/www/html/my_public). Обновите файл .htaccess и index.php, как описано в других ответах. измените server.php, bootstrap/app.php, если он еще не работает. используйте url() с вызовами. Я достиг с этим много :-)

0

Проблема, вероятно, связана с вашим конфигурационным файлом виртуального хоста. Он должен иметь директиву «AllowOverride All»^

<VirtualHost *:80> 
    ServerAdmin [email protected] 
    ServerName yoursite.com 
    ServerAlias www.yoursite.com 
    DocumentRoot "/var/www/yoursite.com/public" 
    <Directory /var/www/yoursite.com/public> 
     Options Indexes FollowSymLinks MultiViews 
     AllowOverride All 
     Order allow,deny 
     allow from all 
    </Directory> 
</VirtualHost> 

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

  • Нет связанных вопросов^_^