【问题标题】:Setting up .htaccess with apache and laravel使用 apache 和 laravel 设置 .htaccess
【发布时间】:2015-10-31 15:55:56
【问题描述】:

这似乎已经被问了数百次,我读了它并尝试了不同的东西。似乎没有任何效果,所以在阅读了大约 5 个关于此的谷歌页面后,我放弃了,我想看看是否有人能给我答案。

我想从我的网址中删除/public

我在 Windows 上使用 apache 2.4 服务器。我刚刚安装了 laravel。

我确保在 apache 中启用了重写模块(php 的 get_apache_modules() 显示了它),现在我正在尝试编写 .htaccess - 我不明白它是如何工作的。 我不想更改我的 apache 配置中的任何内容(我正在使用这台机器开发多个应用程序)

我当前的.htaccess 文件是: 在应用路由目录中

Options -MultiViews
RewriteEngine On

RewriteRule ^ public/index.php [L]

在公用文件夹中

Options -MultiViews
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ /texteditor/public/index.php [L]

现在 localhost/texteditor/ - 以及它之后不公开的任何内容/给我 404

还有人可以推荐一个简单的 .htaccess 教程吗?

【问题讨论】:

  • 您应该将 apache 配置文件(因此,不在 .htaccess 中)中的 DocumentRoot 更改为指向公用文件夹,而不是上面的文件夹。
  • 我不想更改 apache 文档根目录。我在同一台服务器上运行其他应用程序。除非有办法只更改这个文件夹的根目录?
  • 通常的解决方案是使用虚拟主机:httpd.apache.org/docs/2.4/vhosts
  • 别无他法?看起来 htaccess 不会处理任何事情?
  • 我不这么认为。实际上,唯一的方法就是将 Laravel 移动到上面的文件夹中,这可能会对其他应用程序 404 造成一些副作用。使用虚拟主机。

标签: apache .htaccess laravel mod-rewrite


【解决方案1】:

我通过跟踪和正常工作来完成这件事。 如果对您有帮助,请这样做。

  1. public/index.php 移至www/texteditor/index.php
  2. 还将public/.htaccess 移动到www/texteditor/.htaccess

那你就可以了。

请将您的应用根目录的.htaccess 替换为public/.htaccess

【讨论】:

    猜你喜欢
    • 2020-07-17
    • 2015-08-15
    • 1970-01-01
    • 2017-01-20
    • 2010-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-07
    相关资源
    最近更新 更多