Сбой маршрутизации в приложении Laravel, развернутом в подпапке
Хорошо, вот что происходит.
Я создал небольшое приложение laravel (на самом деле, оно все еще находится на стадии разработки).
Когда я загружаю его на сервер (общий хостинг, управляемый через cPanel), я развернул его в подпапку внутри основного веб-сайта.
В папке public_html сервера находится основной сайт (WordPress), поэтому я создал подпапку, в которую поместил свое приложение.
Теперь, когда вы просите http://oursite.com вы попадаете на сайт Wordpress. И когда вы просите http://oursite.com/laravelapp вы достигнете начальной страницы приложения laravel.
Однако, когда я пытаюсь просмотреть любую страницу в приложении, маршрут возвращает меня к маршрутам внутри корневой веб-папки.
Например, если я нажму кнопку входа в систему, то петиция к http://oursite.com/laravelapp/login перенаправляет на http://oursite.com/login , и очевидно, что загрузка страницы завершается неудачей
Самое смешное, что если я доберусь до непосредственно общедоступных страниц, это, кажется, работает нормально.
Если я прямо попрошу http://oursite.com/laravelapp/public/index.php и нажимаем ту же кнопку входа в систему, запрос на http://oursite.com/laravelapp/public/index.php/login сделано, и это работает!! Даже ссылки JS и CSS правильно обнаруживаются по этому запросу!!
Я подозреваю, что это, вероятно, что-то очень глупое, что я не могу видеть сейчас, потому что я слишком устал, но я действительно буду благодарен за любую проницательность в этом вопросе.
Индекс.php в моей папке laravelapp выглядит следующим образом:
<?php
/**
* Laravel - A PHP Framework For Web Artisans
*
* @package Laravel
* @author Taylor Otwell <taylor@laravel.com>
*/
$uri = urldecode(
parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH)
);
// This file allows us to emulate Apache's "mod_rewrite" functionality from the
// built-in PHP web server. This provides a convenient way to test a Laravel
// application without having installed a "real" web server software here.
if ($uri !== '/' && file_exists(__DIR__.'/public'.$uri)) {
return false;
}
require_once __DIR__.'/public/index.php';
А это и есть кодекс чести .htaccess файл внутри /laravelapp / общая папка:
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes
</IfModule>
RewriteEngine On
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
Может быть, я смогу исправить это с помощью поддомена, например myLaravelApp.oursite.com-что?



