【发布时间】:2017-04-20 04:01:27
【问题描述】:
我正在尝试使 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 会工作。我几乎尝试了一切:/
【问题讨论】:
-
首先确认rewrite mod是否开启。如果不显示我的答案。
-
@SujalPatel 在我执行 sudeo a2enmod rewrite 时启用它说模块已启用
-
尝试以下步骤来编辑默认配置文件。
-
@Sujalpatel 不工作
标签: php apache .htaccess ubuntu