Wie man .htaccess Code durch eine function hinzufügt?

Ich muss den folgenden .htaccess Code durch eine function hinzufügen

 # 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  ## Expires Caching ##  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"  ## Expires Caching ## 

In meinen Themen function.php

 function add_htaccess { //the above code to add } 

Ich möchte es nur nicht manuell hinzufügen.

Solutions Collecting From Web of "Wie man .htaccess Code durch eine function hinzufügt?"

 /** * 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); } 

Anmerkungen:

  • $insertion ist ein Array von Strings. Jede Zeichenfolge erhält eine neue Zeile in der Datei.
  • Sie sollten “MyMarker” natürlich durch Ihren eigenen Namen ersetzen. Ihr Inhalt wird in diesen angegebenen Container eingefügt, wobei der Rest der Datei allein verbleibt.
  • Diese function insert_with_markers() auf der function insert_with_markers() , die nur im Admin-Bereich geladen wird. Sie müssen wp-admin/includes/misc.php ansonsten manuell wp-admin/includes/misc.php .
  • Der .htaccess muss beschreibbar sein, damit diese function funktioniert.

Nur ein kleiner Tipp – Sie sollten eine Grundidee bekommen, indem Sie sich ansehen, wie es in WordPress Core gemacht wird:

Die Quelle der functionen save_mod_rewrite_rules () und insert_with_markers () könnte für Sie interessant sein.

Sie werden sehen, dass die Regeln mit PHP fwrite () in die Datei geschrieben werden.
Der Code, der prüft, ob die .htaccess Datei selbst vorhanden, beschreibbar usw. ist, wird ebenfalls nützlich sein.

Lass dich inspirieren.

PS: Es mag Filter geben, um die Arbeit zu erleichtern, aber die Methoden dahinter zu lernen, ist sowieso eine gute Idee,)

Die Aktion ist generate_rewrite_rules .

Überprüfen Sie diese Fragen, die Sie möglicherweise nützlich finden:

  • Müssen Sie eine PHP-Datei innerhalb Theme über URL zugänglich machen
  • Making eine Plugin-Datei über URL-Rewrite zugänglich?