Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
а вот если выбросить из laravel.dev.conf строки, взятые из .htaccess, то curl laravel.dev работает, а curl laravel.dev/hello ожидаемо не находит каталог hello
Или туда, в /var/www/tmproot еще и саму директорию с laravel надо было записать? (уже на все готов)
PS
laravel.dev.conf-файл конфигурации сайта laravel.dev, лежит в sites-available
сделал, как написал Proger_XP. Результат
curl laravel.dev
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>400 Bad Request</title>
</head><body>
<h1>Bad Request</h1>
<p>Your browser sent a request that this server could not understand.<br />
</p>
<hr>
<address>Apache/2.4.10 (Debian) Server at laravel.dev Port 80</address>
</body></html>
у апача был какой-то параметр, при котором он не ходит по симлинкам
но у меня в той папке не только laravel лежит и все это прекрасно работает. Да и laravel, в принципе, работает. Только не хочет запускать ::get к пути, которого физически нет. А должен, если верить описаниям
замени index.php на простой <?php phpinfo();
я правильно сделал? в "родном" /public/index.php заменил содержимое на phpinfo(). Работает, разумеется. Вернул, как было
поменяй пути в conf и htaccess
вот тут я не понял. В каком conf надо менять пути? Поменял в /public/.htaccess (стал он такой)
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ /var/www/index.php [L]
как подхватывал /public/index.php, так и подхватывает. Что не так сделал?
У меня, кстати, в процессе борьбы с Laravel откуда-то взялся .htaccess с содержимым
<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}]
</IfModule>
может он-то и самый правильный?
я подозреваю, стоит debian jessie…
именно так. И NetBeans 8.2 Вообще, не замечал косяков в связке apache-php. Я конечно, "не волшебник, я только учусь", но так, чтобы, как я понимаю, тривиальные функции Laravel не срабатывали, такой глюк уже, наверное, бы вылез
У меня в /var/www/ только одна ссылка на /home/<я>/web_projects и та нее и ее содержимое у всех полный доступ, так что не в нем дело
увы. Ничего не дало. Это только мне с Laravel так не везет?
Сделать
'/hello'
а view()... оставить?
выдал экран ошибки программы
(1/1) NotFoundHttpException
in RouteCollection.php (line 179)
после php artisan serve та же самая ошибка. Может, Laravel какой-то неправильный (как пчелы у Вини-Пуха). Во всяком случае NetBeans подсвечивает его красным и пишет, что проект содержит ошибки. Напирмер, в /vendor/symfony/http-kernel/Tests/Fixtures/Controller/NullableController.php (хотя там, кажется, нечему быть неправильным)
по-моему у mokynis просто не включен mod_rewrite в апаче.
на всякий случай посмотрел вывод phpinfo()
Loaded Modules
core mod_so mod_watchdog http_core mod_log_config mod_logio mod_version mod_unixd mod_access_compat mod_alias mod_auth_basic mod_authn_core mod_authn_file mod_authz_core mod_authz_host mod_authz_user mod_autoindex mod_deflate mod_dir mod_env mod_filter mod_mime prefork mod_negotiation mod_php5 mod_rewrite mod_setenvif mod_status
стОит. Я сейчас курс слушаю (https://www.youtube.com/watch?v=R-oH8iTAhVc), там в web.php примерно такое (это я ооочень условно написал)
Route::get('/', function () {
return view('test');
});
Route::get('{num}', function () {
return "Привет {{', '.$num.' раз'}}!!";
});
и во view test.blade.php
<?php $num=5;
echo "<a href=".$num.">нажать</a>" ?>
и вот тут-то у лектора все нормально срабатывает, а у меня "404"
а это
Route::get('/', function () {
return "Привет!!";
});
почему тогда передается? Или где-то (в public?) надо создать папку "hello"?
laravel.log отсутствует
route:list пишет
+--------+----------+----------+------+---------+--------------+
| Domain | Method | URI | Name | Action | Middleware |
+--------+----------+----------+------+---------+--------------+
| | GET|HEAD | / | | Closure | web |
| | GET|HEAD | api/user | | Closure | api,auth:api |
| | GET|HEAD | hello | | Closure | web |
+--------+----------+----------+------+---------+--------------+
обижаете :-)! без доступа на запись у меня вообще ничего не работало
вообще ничего не пишет
без толку. По прежнему, срабатывает только на get('/'). А на 'laravel.dev/hello' 404 ошибка
только начал изучать Laravel (в частности, тут и тут ). Установлен apache2, php 5.6, Laravel 5.4
Пытаюсь в web.php поменять шаблон запроса
Route::get('/', function () {
return view('welcome'); });
все работает
return "Привет!!";
тоже все хорошо. А вот так
Route::get('/hello', function () {
return "Привет!!"; });
при вводе адреса localhost/hello пишет 404 URL не найден. Вот конфигурация apache'а
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/php/laravel1/public
<Directory /home/ja_krevedko/web_projects/laravel1/public>
Options Indexes FollowSymlinks MultiViews Includes ExecCGI
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
apache2ctl -M ... и a2enmod rewrite на всякий случай выполнил. Что я делаю не так?
Страницы 1