简体   繁体   English

HTAccess for Laravel 4子目录

[英]HTAccess for Laravel 4 sub directory

Getting really frustrated trying to configure the whole redirecting business. 尝试配置整个重定向业务变得非常沮丧。 I have laravel as a sub directory to the main root. 我有laravel作为主根目录的子目录。 So instead of doing this: 所以不要这样做:

Route::get('/game/quiz/', 'HomeController@showQuiz');
Route::get('/game/quiz/home', 'HomeController@showQuiz');
Route::get('/game/quiz/boho', 'HomeController@showBoho');
Route::get('/game/quiz/chic', 'HomeController@showChic');
Route::get('/game/quiz/elegant', 'HomeController@showElegant');
Route::get('/game/quiz/glamour', 'HomeController@showGlamour');
Route::get('/game/quiz/quirky', 'HomeController@showQuirky');
Route::post('/game/quiz/submitQuiz', 'QuizController@submitQuiz');

^^ Causes 404's for all public assets ^^为所有公共资产提供404

I ideally want this: 我理想地想要这样:

Route::get('/', 'HomeController@showQuiz');
Route::get('home', 'HomeController@showQuiz');
Route::get('boho', 'HomeController@showBoho');
Route::get('chic', 'HomeController@showChic');
Route::get('elegant', 'HomeController@showElegant');
Route::get('glamour', 'HomeController@showGlamour');
Route::get('quirky', 'HomeController@showQuirky');
Route::post('submitQuiz', 'QuizController@submitQuiz');

This is my main app htaccess: 这是我的主要应用程序htaccess:

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteRule (.*) public/$1 [L]
</IfModule>

Points to public folder which is fine. 指向公共文件夹就可以了。

now public folder htaccess: 现在公用文件夹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]

$_SERVER when i dd(); $ _SERVER当我dd();

["REQUEST_URI"] "/game/quiz/"
["CONTEXT_DOCUMENT_ROOT"] "/home/sites/mywebsite.co.uk/public_html/"
["SCRIPT_FILENAME"] "/home/sites/mywebsite.co.uk/public_html/game/quiz/public/index.php"
["SCRIPT_URI"] "http://mywebsite.co.uk/game/quiz/"

Help would be greatly appreciated! 帮助将不胜感激!

Paths are configured in file /bootstrap/paths.php 路径在文件/bootstrap/paths.php中配置

add /game/quiz to all paths defined in this file. 将/ game / quiz添加到此文件中定义的所有路径。 If configured correctly with absolute path or path relative to folder bootstrap then you will get your problem solved. 如果使用绝对路径或相对于文件夹引导程序的路径正确配置,则可以解决问题。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM