我知道有更多的问题和答案,但对我来说没有一个是有用的。
我刚刚在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
答案 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]