.htaccess文件无法在linux服务器上运行

时间:2015-09-29 22:25:06

标签: html .htaccess configuration server

我知道有更多的问题和答案,但对我来说没有一个是有用的。

我刚刚在apache linux服务器上配置了我的网站,我正在使用cPannel管理。我编辑了我的.htaccess文件以从我的网址中删除html扩展名。但是在我将其上传到文件管理器之后,没有任何变化。我需要做些什么来使其工作?

我一直在搜索配置文件以设置AllowOverride All,但我没有找到任何内容。而且我的文件管理器中没有etc/apache2/目录,{}中还有其他文件{1}}目录。

编辑:服务器信息:

主机套餐:Startup2013

服务器名称:狼

cPanel版本:11.50.1(build 3)

主题:paper_lantern

Apache版本:2.4.16

PHP版本:5.6.12

MySQL版本:5.6.23

架构:x86_64

操作系统:linux

共享IP地址:185.81.0.40

Sendmail的路径:/ usr / sbin / sendmail

Perl的路径:/ usr / bin / perl

Perl版本:5.10.1

内核版本:2.6.32-573.3.1.el6.x86_64

这是我的etc/代码:

.htaccess

1 个答案:

答案 0 :(得分:2)

我认为您没有运行ubuntu服务器,这就是您没有/etc/apache2目录的原因。

试试这个:

修改httpd.conf中的/etc/httpd/conf/httpd.conf文件并设置AllowOverride All

然后:apachectl restart

如果这不起作用,请运行:cat /etc/*-release并向我们显示输出,以便我们知道您正在运行哪个Linux发行版。

编辑: .htaccess工作正常,OP想删除.html扩展程序

这是删除.html扩展名所需的.htaccess:

RewriteEngine On
RewriteBase /

#Removes .html extension
RewriteCond %{THE_REQUEST} ^[A-Z]+\s.+\.html\sHTTP/.+
RewriteRule ^(.+)\.html $1 [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.html [NC,L]