/var/www/html/
命令在localhost(composer create-project laravel/laravel moduleTesting --prefer-dist
)上进行了laravel的全新设置。 /var/www/moduleTesting/setup
),然后将所有文件从公用文件夹(/var/www/moduleTesting/setup/public
)移到moduleTesting文件夹(/var/www/html/moduleTesting
)。 /var/www/html/moduleTesting/
)中的index.php文件中的引导文件路径。要求 DIR 。'/setup/bootstrap/autoload.php';
$ app = require_once DIR 。'/../../laravel_setup/bootstrap/app.php';
/var/www/moduleTesting/setup/bootstrap/cache
和/var/www/moduleTesting/setup/storage
composer dump-autoload
)的终端中运行命令/var/www/moduleTesting/
。 首先通过Composer安装软件包。
composer require caffeinated/modules
完成此操作后,只需将服务提供者和Facade类都添加到项目
/var/www/html/moduleTesting/setup/config/app.php
文件中:服务提供者
Caffeinated\Modules\ModulesServiceProvider::class,
正面
'Module' => Caffeinated\Modules\Facades\Module::class,
make:module Admin
并遵循简单的步骤,它成功创建并通过点击URL http://localhost/moduleTesting/admin'运行。 问题
现在的问题是当我运行URL时。 http://localhost/moduleTesting/admin'
它可以成功运行,但是当我运行'http://localhost/moduleTesting/admin'(仅在同一URL的末尾添加'/')时,它可以正常工作,并将我重定向到url'http://localhost/admin'
有人知道吗,请帮助我如何解决此问题,在同一节点上,如果将安装程序上载到服务器的内部文件夹中并运行相同的URL,它也会重定向我。
最佳答案
这可能是因为.htaccess将尾部斜杠重定向到URL,而没有斜杠。
在.htaccess文件的此部分中,Apache会将所有带有尾部反斜杠(如果不是文件夹)的内容重定向到其原始位置。这会引起麻烦,因为项目的公众位于目录中。
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
将第二条规则替换为:
RewriteRule ^(.*)/$ /moduleTesting/$1 [L,R=301]
注意:最好不要将目录用作公用目标,因为会发生此类问题。您最好创建一个伪造的本地域,例如:module-test.dev或类似的东西。