如何通过函数添加.htaccess代码?

时间:2011-12-12 作者:Ezhil

我需要补充以下内容。通过函数访问htaccess代码

    <IfModule mod_deflate.c>
# Insert filters
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/x-httpd-php
AddOutputFilterByType DEFLATE application/x-httpd-fastphp
AddOutputFilterByType DEFLATE image/svg+xml

# Drop problematic browsers
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\\.0[678] no-gzip
BrowserMatch \\bMSI[E] !no-gzip !gzip-only-text/html

# Make sure proxies don\'t deliver the wrong content
Header append Vary User-Agent env=!dont-vary
</IfModule>

## Expires Caching ##

<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 2 week"
ExpiresByType image/jpeg "access 2 week"
ExpiresByType image/gif "access 2 week"
ExpiresByType image/png "access 2 week"
ExpiresByType text/css "access 2 week"
ExpiresByType application/pdf "access 2 week"
ExpiresByType text/x-javascript "access 2 week"
ExpiresByType application/x-shockwave-flash "access 2 week"
ExpiresByType image/x-icon "access 2 week"
ExpiresDefault "access 2 week"
</IfModule>

## Expires Caching ## 
在我的主题功能中。php

function add_htaccess
{
//the above code to add
}
我只是不想手动添加它。

3 个回复
最合适的回答,由SO网友:Geert 整理而成

/**
 * Inserts an array of strings into a file (.htaccess ), placing it between
 * BEGIN and END markers. Replaces existing marked info. Retains surrounding
 * data. Creates file if none exists.
 *
 * @param array|string $insertion
 * @return bool True on write success, false on failure.
 */
function add_htaccess($insertion)
{
    $htaccess_file = ABSPATH.\'.htaccess\';
    return insert_with_markers($htaccess_file, \'MyMarker\', (array) $insertion);
}
备注:

  • $insertion 是字符串数组。每个字符串在文件中获得一个新行insert_with_markers() 仅在管理区域加载的函数。您必须加载wp-admin/includes/misc.php 否则手动

SO网友:Michal Mau

只是一个快速提示-您应该通过查看WordPress core中的操作来了解基本想法:

The source of save_mod_rewrite_rules() and insert_with_markers() functions might be interesting for you.

您将看到规则是用PHP写入文件的fwrite().
检查.htaccess 文件本身是存在的、可写的等等也会很有用。

吸鼻涕。

附言:可能会有过滤器让工作更容易,但无论如何,学习背后的方法是个好主意,)

SO网友:Sisir

行动是generate_rewrite_rules.

检查这些问题,您可能会发现它们很有用:

结束

相关推荐

.htaccess和500错误,添加了额外的字符

我有一个奇怪的问题。每隔几天,我就会访问我的网站,发现一个“内部服务器错误”,或者500个错误。我走进了。htaccess网站的文件,并注意它已被更改。在文件末尾添加一个字符。修复和继续很容易,但它一直在发生。htaccess权限是644,错误日志中没有提到这一点,所以我不知道从哪里开始。有人知道发生了什么事,或者给我指一些关于这个问题的信息吗?以下是“更改的”htaccess代码:# BEGIN WordPress <IfModule mod_rewrite.c> Rewri