漂亮的网址不适用于 XAMPP 和 Laravel 5.8

pretty-urls not working with XAMPP and Laravel 5.8

我使用 Laravel v5.8,我很高兴在 VMware 中与 Ubuntu 一起使用它。现在我需要更换为 Windows Server 2012 with xampp。

有一件事我无法消除:

我可以通过

访问我的页面

https://fancysubdomain.fancydomain.de/myapplikation/public

我创建了类似

的链接
<a class="title" href="/entries/create" > FOO </a>

这些链接转到

https://fancysubdomain.fancydomain.de/entries/create

(注意丢失的 "myapplication" 块),Apache 告诉我找不到请求的 URL。

如果我输入

https://fancysubdomain.fancydomain.de/myapplikation/entries/create

在浏览器的地址字段中也不起作用。

.env 文件中,我设置了

APP_URL= https://fancysubdomain.fancydomain.de/myapplikation/

我已将 \conf\app.php 编辑为

'url' => env('APP_URL', ' https://fancysubdomain.fancydomain.de/myapplikation/'),

httpd-vhosts.conf中没有设置虚拟主机(我不是管理员)。我需要设置它们以获得我想要的吗?我需要设置其他东西吗?

您应该创建一个 Vhost,它应该指向您 Laravel 应用程序的 public 目录。

它应该是这样的:

<VirtualHost *:80>
   DocumentRoot "path/to/laravels/public/dir"
   ServerName localhost
   <Directory "path/to/laravels/public/dir">
      AllowOverride All
      Allow from All
   </Directory>
</VirtualHost>

完成后,默认的 .htaccess 文件就可以工作了,你就有了漂亮的 url。

我终于找到了解决办法。谢谢@J。格兰德

更改这些设置后,我 运行 遇到了一个新的链接问题。 我创建了

这样的链接
<a href=”/entries/create”>Create Entry</a>

不幸的是,现在链接指向

https://fancysubdomain.fancydomain.de/entries/create

(观看缺少 myapplikation 元素)

当然,我可以

<a href=”/myapplikation/entries/create”>Create Entry</a>

但如果用户在那个地方,可能会出现一些问题。

如果其他人遇到同样的问题: 使用 Laravel 的 URL 助手:

<a href=”{{ action('EntriesController@create') }}”>Create Entry</a>