【发布时间】: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