[英]Laravel application on sub-directory
laravel應用程序似乎在服務器上的子目錄中存在路由問題。 在本地計算機上運行的應用程序無法在實時服務器上子目錄中的臨時域上運行。 玩.htaccess
似乎會有不同的結果。
這個問題幾乎與我要尋找的問題相同,但是當我有一些解決方法時,他沒有任何解決方案。
laravel public
內部的.htaccess
已被修改為:
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes
</IfModule>
RewriteEngine On
RewriteBase /~timely/email-client //<--base has been modified
# 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>
該應用程序會將您重定向到主機gator 404頁面 。
我還向主目錄添加了.htaccess
,它將把每個請求轉發到public
目錄。
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>
刪除home / main后, .htaccess
僅適用於/
路由:例如
http://gator4057.temp.domains/~timely/email-client/public
可以使用,但所有其他路由都重定向到同一主機gator 404頁面 。
您的意見和答案將不勝感激。
謝謝
步驟1.將所有email-client / public移到email-client /。 現在我們到了某個地方。 警告:不要忘記也復制.htaccess文件
第二步 。 在您喜歡的編輯器中打開email-client / index.php並進行更改
$app = require __DIR__.'/../bootstrap/app.php';
至
$app = require __DIR__.'/../email-client/bootstrap/app.php';
or may be
$app = require __DIR__.'/email-client/bootstrap/app.php';
並更改:
require __DIR__.'/../bootstrap/autoload.php'
至
require __DIR__.'/../laravel/bootstrap/autoload.php'
or may be
require __DIR__.'/laravel/bootstrap/autoload.php'
運行命令:
php artisan cache:clear
php artisan config:clear
php artisan optimize
要么
如果您不想做更多更改,請嘗試以下操作:
把它放在index.php文件中
$app->bind('path.public', function() {
return __DIR__;
}
希望為您工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.