laravel应用程序似乎与服务器上的子目录有路由问题。在上运行的应用程序中,本地计算机不能在活动服务器子目录中的临时域上工作。玩.htaccess似乎有不同的结果。
这个问题几乎和我想要的一样,但他没有任何解决办法,而我也有一些工作要做。
laravel public中的public已被修改为如下所示:
<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>移除主/主后,.htaccess只适用于/路由:例如
http://gator4057.temp.domains/~timely/email-client/public可以工作,但所有其他路由都重定向到同一个主机gator 404页。
您的意见和答复将不胜感激。
谢谢
发布于 2018-04-27 07:19:01
步骤1.将所有email-client/public移动到email-client/。现在我们有进展了。警告:不要忘记复制.htaccess文件
步骤2。在您最喜欢的编辑器中打开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__;
}希望能为你服务。
https://stackoverflow.com/questions/50056229
复制相似问题