php - Laravel重写不起作用

标签 php apache .htaccess ubuntu

我试图让 htaccess 重写在 apache2 ubuntu 17.04 上工作,但它不会工作。我要做的是使用 localhost/anyroute 访问路由,但访问它的唯一方法是 localhost/PROJECTNAME/public/anyroute。 localhost/ANYROUTE 在 Windows 上工作,但 apache 将在 ubuntu 上返回“未找到请求的 url”,我不知道为什么.. 这是我的 confs 文件
.htaccess

Options +FollowSymLinks
RewriteEngine On

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

我的虚拟主机
<VirtualHost *:80>
DocumentRoot /var/www/html/test/public/
<Directory /var/www/html/test/public>
Options Indexes FollowSymLinks MultiViews
  AllowOverride All
  Order allow,deny
  Allow from all
</Directory>
ErrorLog /var/log/apache2/test-error_log
CustomLog /var/log/apache2/test-access_log common
</VirtualHost>

apache2.conf
<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
</Directory>

所以底线是 localhost/anyroute 不会工作,但 localhost/project/public/anyroute 会工作。我几乎尝试了一切:/

最佳答案

启用 mod_rewrite

现在,我们需要激活 mod_rewrite。

sudo a2enmod rewrite

这将激活模块或提醒您该模块已经生效。要使这些更改生效,请重新启动 Apache。
sudo service apache2 restart

在开始之前,我们需要设置并保护更多设置。

首先,允许更改 .htaccess 文件。使用 nano 或您喜欢的文本编辑器打开默认的 Apache 配置文件。
sudo nano /etc/apache2/sites-enabled/000-default.conf

在该文件中,您将在第 1 行找到该 block 。在该 block 中,添加以下 block :
/etc/apache2/sites-available/default
<Directory /var/www/html>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
</Directory>

您的文件现在应该与以下内容匹配。确保所有 block 都正确缩进。
/etc/apache2/sites-available/default
<VirtualHost *:80>
    <Directory /var/www/html>

        . . .

    </Directory>

    . . .
</VirtualHost>

要使这些更改生效,请重新启动 Apache。
sudo service apache2 restart

现在,创建 .htaccess 文件。

有关详细信息,请遵循以下引用链接:

https://www.digitalocean.com/community/tutorials/how-to-set-up-mod_rewrite-for-apache-on-ubuntu-14-04

关于php - Laravel重写不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43509974/

相关文章:

.htaccess - 默认添加语言子目录 "sv/"(重定向)

.htaccess - symfony2重写规则.htaccess app.php

php - 不相关的SQL表的大小是否会影响彼此的性能

apache - apache、ubuntu中的ServerAlias

php - 在 php 中使用 pdftopm 将 pdf 转换为图像,而无需在磁盘上写入文件

apache - 密码通过 htaccess 保护多个目录

Apache 服务器无法关闭(使用 Stack Builder 安装 EnterpriseDB)

apache - HTaccess 重定向正在将查询添加到 URL 末尾

php - 从 Azure 网站中的 Blob 存储获取损坏的图像

php - 仅使用一个查询返回项目列表中的团队?