laravel应用程序似乎在服务器上有子目录的路由问题。在本地计算机上运行的应用程序无法在实时服务器上的子目录中的临时域上运行。围绕.htaccess
玩游戏似乎有不同的结果。
This question几乎与我想要的完全相同,但在我有一些解决方法时他没有得到任何解决方案。
laravel .htaccess
中的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>
The application会将您重定向到host gator 404 page。
此外,我已将.htaccess
添加到主目录,该目录会将每个请求转发到public
目录。
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>
删除主页/主 .htaccess
只适用于/
路由:例如
http://gator4057.temp.domains/~timely/email-client/public
可以使用,但所有其他路线都会重定向到同一个主机gator 404页面。
您的意见和回答将不胜感激。
由于
答案 0 :(得分:0)
第1步。将所有电子邮件客户端/公共广告移至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
OR
如果您不想做更多更改,请尝试以下方法:
将它放在index.php文件中
$app->bind('path.public', function() {
return __DIR__;
}
希望为你工作。