相关疑难解决方法(0)

Laravel 5 - 从URL中删除公共

我知道这是一个非常受欢迎的问题,但我无法为Laravel 5找到一个可行的解决方案.我一直在尝试从Codeigniter迁移很长一段时间,但这个错综复杂的安装过程一直让我失望.

我不想运行VM,这在项目之间切换时似乎很尴尬.

我不想将我的文档根目录设置为公共文件夹,这在项目之间切换时也很尴尬.

我试过了.htaccess mod_rewrite方法

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteRule ^(.*)$ public/$1 [L]
</IfModule>
Run Code Online (Sandbox Code Playgroud)

这只是在compiled.php第7610行中给了我一个Laravel NotFoundHttpException.

当我不久前尝试L4时,我使用了将公用文件夹的内容移动到根目录的方法.L5的结构完全不同,按照相同的步骤完全打破了Laravel(服务器只返回一个空白页面).

在开发环境中是否有一种很好的方法可以删除"公共":

  1. 适用于L5
  2. 允许我轻松切换项目(我通常在任何时候工作2或3).

谢谢

**我正在使用MAMP和PHP 5.6.2

php .htaccess mamp laravel laravel-5

215
推荐指数
18
解决办法
20万
查看次数

使用htaccess在子目录中安装Laravel 5 app

安装程序

我正在尝试在我的服务器上的此目录中安装laravel 5应用程序:

public_html/myapp/

我希望通过以下URL访问它:

http://www.example.com/myapp/

我创建了这个.htaccess规则并将其放在myapp文件夹中以重定向请求:

RewriteEngine on
RewriteRule ^(.*)$ public/$1 [L]
Run Code Online (Sandbox Code Playgroud)

问题:

在我尝试访问应用程序的浏览器中,我获得了重定向的URL,例如:

  • http://www.example.com/myapp/public/index.php
  • http://www.example.com/myapp/public/index.php/dashboard

而不是漂亮的美丽网址,如:

  • http://www.example.com/myapp/
  • http://www.example.com/myapp/dashboard

我需要在.htaccess文件中更改以获取正确的URL吗?


更新:如果需要,可以将laravel应用程序移动到其他位置,只要可以实现上面所需的URL结构(可以通过example.com/myapp/访问该应用程序).

更新:当我尝试访问时,example.com/myapp/dashboard我在浏览器中收到以下错误消息:NotFoundHttpException in compiled.php line 7793:堆栈跟踪以以下内容开头:

in compiled.php line 7793
at RouteCollection->match(object(Request)) in compiled.php line 7066
at Router->findRoute(object(Request)) in compiled.php line 7038
at Router->dispatchToRoute(object(Request)) in compiled.php line 7030
at Router->dispatch(object(Request)) in compiled.php line 1989
at Kernel->Illuminate\Foundation\Http\{closure}(object(Request))
Run Code Online (Sandbox Code Playgroud)

更新:以下.htaccess文件位于公用文件夹中:

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews
    </IfModule>

    RewriteEngine On

    # Redirect Trailing Slashes...
    RewriteRule ^(.*)/$ /$1 …
Run Code Online (Sandbox Code Playgroud)

.htaccess mod-rewrite laravel laravel-routing

16
推荐指数
2
解决办法
2万
查看次数

如何在没有公共文件夹的根目录中运行laravel?

我在自己的运行DebianApache2的服务器上运行最新版本的laravel

laravel的内容位于/var/www我的域名指向的位置,但是所有功能都通过public目录发生,因此我必须转到http://mydomain.com/public才能访问任何内容。

我想更改它,以便我只需要访问http://mydomain.com。这可能吗?

我怎样才能改变这个?我是否必须将所有内容上移到另一个级别的父级/var

到目前为止,我还没有在网上找到任何东西说这是可能的,或者说这是一个好主意。

php apache .htaccess debian laravel

0
推荐指数
1
解决办法
2897
查看次数