我无法让我的一个应用程序使用其路径中的 htaccess 文件,除非我直接在浏览器中指向 index.php
我电脑上已经安装了ubuntu:
Distributor ID: Ubuntu
Description: Ubuntu 15.10
Release: 15.10
Codename: wily
我已经在我的电脑上安装了apache:
Server version: Apache/2.4.12 (Ubuntu)
Server built: Jul 24 2015 15:59:11
我尝试将以下代码添加到我的/etc/apache2/apache2.conf
<Directory /var/www/html/pss/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
我也尝试过这样的方法:
<Directory /var/www/html/pss/html>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
如您所见,此代码指向位置/var/www/html/pss
。在我的文件夹中pss folder
有一个html
文件夹。在这个 html 文件夹中,我有一个.htaccess
和index.php
文件。
如果我将浏览器指向http://localhost/pss/html但是如果我去http://localhost/pss/html/index.php似乎有效
我在我的文件中添加了htaccess
一条指令:DirectoryIndex index.php
。这不起作用。这是我的.htaccess
文件:
SetEnv APPLICATION_ENV development
DirectoryIndex index.php
php_value session.auto_start 0
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
它位于/var/www/html/pss/html/.htaccess
据我所知,当我转到 url/index.php 时,它会使用 htaccess,但当我直接转到 url 本身时,它不会使用 htaccess
如果您需要任何进一步的信息,请告诉我。
答案1
需要注意的是,你在 apache2.conf 文件中输入的“AllowOverride”指令控制用户是否能够通过.htaccess 文件修改网络服务器的行为。
通过将其设置为 None,您实际上是在阻止 .htaccess 产生任何效果!您很可能希望将其设置为 All,或者例如 Indexes,因为您正在尝试更改索引参数。
最后,如果您有权访问 Web 服务器,也可以直接在 Apache2 配置文件中设置这些参数。.htaccess 文件的主要用途是在用户无权访问 Web 服务器配置的共享 Web 主机上使用。