Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache 我的.htaccess文件缺少什么或有什么问题?_Apache_.htaccess_Optimization - Fatal编程技术网

Apache 我的.htaccess文件缺少什么或有什么问题?

Apache 我的.htaccess文件缺少什么或有什么问题?,apache,.htaccess,optimization,Apache,.htaccess,Optimization,我对.htaccess文件一无所知,所以我想请你们帮忙。我将列出我试图用代码做的事情,但这些都不起作用 从我的url中删除.html和.php(我的意思是获得一个干净的链接) 压缩图像和.js/.css等文件(谷歌speedtest称这不会发生) 使网站在有www和没有www的情况下都能正常工作(标准是没有www) 就这样。提前感谢您的帮助 <ifModule mod_gzip.c> mod_gzip_on Yes mod_gzip_dechunk Yes mod_gzip_it

我对.htaccess文件一无所知,所以我想请你们帮忙。我将列出我试图用代码做的事情,但这些都不起作用

  • 从我的url中删除.html和.php(我的意思是获得一个干净的链接)
  • 压缩图像和.js/.css等文件(谷歌speedtest称这不会发生)
  • 使网站在有www和没有www的情况下都能正常工作(标准是没有www)
就这样。提前感谢您的帮助

<ifModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file .(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>
<FilesMatch "(\. (engine|inc|info|install|module|profile|po|sh|.*sql|theme|tpl(\.php)? |xtmpl)|code-style\.pl|Entries.*|Repository|Root|Tag|Template)$">
Order allow,deny
</FilesMatch>
Options -Indexes
RewriteEngine on
RewriteRule ^/abc/(.*)$ /new/$1 [R=301,L]
RewriteEngine on
RewriteRule ^/def/(.*)\.html$ /new2/$1.html [R=301,L]
RewriteEngine on
RewriteRule ^/ghi/(.*)\.(html|htm)$ /new3/$1.$2 [R=301,L]
RewriteEngine on
RewriteRule ^/jkl/(.*)$ http://www.mywebsite.com/$1 [R=301,L]
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ $1.html
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 month"
ExpiresByType image/jpeg "access 1 month"
ExpiresByType image/gif "access 1 month"
ExpiresByType image/png "access 1 month"
ExpiresByType text/css "access 1 month"
ExpiresByType text/html "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 month"
ExpiresDefault "access 1 month"
</IfModule>

mod_gzip_on Yes
是的
mod|gzip|item|u include file.(html?| txt | css | js | php | pl)$
mod_gzip_item_包含处理程序^cgi脚本$
mod_gzip_项目包括mime^text/*
mod_gzip_item_包括mime^application/x-javascript*
mod_gzip_项_排除mime^image/*
mod_gzip_item_排除rspheader^内容编码:.*gzip*
命令允许,拒绝
选项-索引
重新启动发动机
重写规则^/abc/(.*)$/new/$1[R=301,L]
重新启动发动机
重写规则^/def/(.*)\.html$/new2/$1.html[R=301,L]
重新启动发动机
重写规则^/ghi/(.*)\(html | htm)$/new3/$1.$2[R=301,L]
重新启动发动机
重写规则^/jkl/(.*)$http://www.mywebsite.com/$1[R=301,L]
重新启动发动机
重写cond%{REQUEST_FILENAME}-D
重写cond%{REQUEST_FILENAME}\.html-f
重写规则^(.*)$$1.html
过期于
ExpiresByType图像/jpg“访问1个月”
过期按类型图像/jpeg“访问1个月”
ExpiresByType image/gif“访问1个月”
ExpiresByType图像/png“访问1个月”
ExpiresByType文本/css“访问1个月”
ExpiresByType text/html“访问1个月”
过期按类型应用程序/pdf“访问1个月”
ExpiresByType文本/x-javascript“访问1个月”
过期按类型应用程序/x-shockwave-flash“访问1个月”
ExpiresByType图像/x图标“访问1个月”
ExpiresDefault“访问1个月”

在Apache中获得自动重定向,您可以考虑使用,这很容易启用和向后兼容。例如,使用.htaccess文件中的这一行:

Options +MultiViews
现在,您可以从以下URL访问同一文件:

/def/search.html
/def/search
之后,需要更改HTML文件,以便它们链接到URL而不带文件后缀。这是一项重要的任务(但有些工具可能会有所帮助)

至于gzip尝试,StackOverflow上的其他人似乎更喜欢mod_gzip,因为它更容易配置。有关使用mod_deflate的说明,请参阅(mod_gzip说明的正下方)

最后,您可以使用mod_rewrite重定向到不带www前缀的规范URL。www.Example.com示例:

RewriteCond %{HTTP_HOST} ^www\.example\.com [NC]
RewriteRule ^/(.*)       http://example.com/$1 [L,R=301]

在Apache中获得自动重定向,您可以考虑使用,这很容易启用和向后兼容。例如,使用.htaccess文件中的这一行:

Options +MultiViews
现在,您可以从以下URL访问同一文件:

/def/search.html
/def/search
之后,需要更改HTML文件,以便它们链接到URL而不带文件后缀。这是一项重要的任务(但有些工具可能会有所帮助)

至于gzip尝试,StackOverflow上的其他人似乎更喜欢mod_gzip,因为它更容易配置。有关使用mod_deflate的说明,请参阅(mod_gzip说明的正下方)

最后,您可以使用mod_rewrite重定向到不带www前缀的规范URL。www.Example.com示例:

RewriteCond %{HTTP_HOST} ^www\.example\.com [NC]
RewriteRule ^/(.*)       http://example.com/$1 [L,R=301]

为什么不使用如下文件:

此.htaccess已具有压缩等配置


我认为您可以向文件中添加所需的所有内容,例如,您可以添加flashplayer的文件类型。

为什么不使用如下文件:

此.htaccess已具有压缩等配置


我认为您可以向文件中添加所需的所有内容,例如,您可以添加flashplayer的文件类型。

我期望发生的事情没有发生
那到底是什么呢?Hello@PanamaJack,我正试图从我的页面中删除扩展名(.html)。我收集了一些关于.htaccess文件的信息,并试图编写自己的文件,但我的页面上仍然有扩展名。此外,当我查看谷歌speedtest时,它说我的网站没有压缩图像和文件。我还想通过.htaccess.com来实现这一点。请解释从页面中删除扩展名的含义。您是否希望从代码中删除html扩展?或者你想使用漂亮的URL?请更好地解释您希望在地址栏中看到的内容。一些开始提示:您只能使用一个重写引擎指令(即,不要多次打开它);您的第一次重写是不可操作的(它只会用L终止重写链,L表示“最后一次”);您应该将删除扩展与尝试gzip分开;你有多个前缀不同的规则-这只是为了测试吗?@FelipeFelixdeLuca:太好了!您试图在.htaccess中实现的每个任务都可以独立实现。请一次尝试一个-我建议您从URL重写开始(即删除gzip尝试等),然后在开始工作时转到下一个。
我期望发生的事情没有发生
那到底是什么?Hello@PanamaJack,我正试图从我的页面中删除扩展名(.html)。我收集了一些关于.htaccess文件的信息,并试图编写自己的文件,但我的页面上仍然有扩展名。此外,当我查看谷歌speedtest时,它说我的网站没有压缩图像和文件。我还想通过.htaccess.com来实现这一点。请解释从页面中删除扩展名的含义。您是否希望从代码中删除html扩展?或者你想使用漂亮的URL?请更好地解释您希望在地址栏中看到的内容。一些开始提示:您只能使用一个重写引擎指令(即,不要多次打开它);您的第一次重写是一个no-op(它只会用L终止重写链,而L