linux - 新的 Apache 服务器 - .htaccess 出现问题

标签 linux apache .htaccess ubuntu lamp

(请原谅,我右手受伤了,所以打字有困难)

我最近设置了一个运行“LAMP Stack”的新 Linux 服务器。我使用 PuTTY、Git 和 friend 。通常,我在预先设置的环境中工作 - 我只是一名应用程序开发人员。从技术上讲,这将算作我的第一次“个人冒险”。我以前从未获得过服务器的 root 访问权限,我只是在那里工作。

因此,首先,我决定从之前的项目中移植一些工作并以此为基础进行构建。它严重依赖 Rewrite规则。无知地,我以为我的 .htaccess 文件会神奇地工作。事实并非如此 - 无论出于何种原因,Apache 希望您启用重写规则(这不像您不小心设置了 .htaccess 文件,亲爱的)。

所以,我阅读了各种教程,遵循指南,在其他地方询问 - 我没有真正取得任何进展。最后进入正题,这就是我所做的:

1. 我在/etc/apache2/sites-available/default-ssl.conf 中启用 .htaccess 文件的使用:

 <Directory /var/www/html>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
 </Directory>

2。我在 var/www/html/site 创建一个 .htaccess 文件:

RewriteEngine On
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d
RewriteRule ^(.*)$ %{DOCUMENT_ROOT}/site/index.php [L]

3。现在,您应该能够访问位于 http://www.example.com/site/index.php/Bool 的 URL。 通过 http://www.example.com/Bool (Bool 类似于查询字符串 - 页面标识符)。在这种情况下您不能 - 您被告知服务器上没有标题为“Bool”的文件。

2部分中给出的重写规则以前有效,但在这里不起作用。

一些指南还告诉您做一些古怪的事情,例如在 /etc/htaccess/.htpasswd 设置一些密码系统。 并有另一个 .htaccess 文件来调用它或其他东西。尽管我的其他重写规则在这个新的服务器环境中不起作用,但“密码”系统确实起作用了(我被要求在访问页面之前提供密码) - 但是,我不需要或不想要任何类似的受限访问页面。

实际上我尝试过的所有方法都不起作用 - 这包括更改 <Directory> 中的路径 default-ssl.conf 内的 标签 将 .htaccess 文件放在这里或那里,有或没有密码系统,.htaccess/配置文件中的不同“代码”等等。实际上,每个“指南”都为您提供了不同的解决方案,包括和排除其他人执行/不执行的细节和步骤。

我什至尝试过更改 AllowOverride All /etc/apache2/apache2.conf 没有成功 - 只是一个内部服务器错误

最重要的问题:如何在需要的地方使用 .htaccess 文件?必须有人在某处使用正确的配置,所以您碰巧在您的服务器上运行了该配置,我想看看您做了什么。

我很高兴能够负责自己的服务器,这是一次美妙的学习经历,令人惊讶的是,学习曲线并不太困难。我希望我能让这个应用程序正常运行。

最佳答案

如果不幸的是,即使在任何情况下,您的服务器都没有读取您的 HtAccess 文件,那么您可以使用此命令来启用服务器上的 htaccess 可访问性。

在 RACKSPACE 服务器(Debian Os)上启用 HTACCESS 文件 sudo a2enmod 重写

然后重新启动 apache 服务器即可访问。 谢谢 拉格温德拉·帕塔克

关于linux - 新的 Apache 服务器 - .htaccess 出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25354961/

相关文章:

zend-framework - 如何使用 apache2 和 zend 创建多个虚拟主机

apache - 通过 Htaccess 从 Url 中删除文件夹的子文件夹?

linux - procfs 位于内存中,但是在哪里呢?是否有可能获取其 DMA 地址?

php - Apache "destroying"授权 header

linux - QVFB 无法显示 -- QT forEmbedded Linux 演示示例

apache - 子目录下的nginx重写规则

apache - 试图让 Websockify/noVNC 通过反向代理工作

php - 如何将预先存在的类别和产品转换为 SEO 友好的 URL

解析网站(url)的linux脚本

c++ - 使用 code::blocks 制作 .so 文件