it-swarm.com.de

So überschreiben Sie .htaccess mit neuen Regeln ohne FTP oder bearbeiten es manuell

Ich möchte, dass das Skript dem aktuellen .htaccess neue Regeln hinzufügt und der Benutzer es nicht per FTP oder manuell bearbeiten muss.

Beispiel: Ich verwende timthumb zum Ändern der Bildgröße für mein Thema und möchte die URL umschreiben. Der aktuelle .htaccess wird ungefähr so ​​aussehen.

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^images/thumb/(.*) timthumb.php?filename=$1
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

Frage

So fügen Sie die neue Regel der Option .htacces für mein Thema hinzu.

Mod-Rewrite für Timthumb aktivieren? : [Ja Nein]

Wenn Sie auf [Ja] klicken, wird RewriteRule ^images/thumb/(.*) timthumb.php?filename=$1 automatisch zum aktuellen .htaccess hinzugefügt.

Gib mir Bescheid

2
wow

Sie können zusätzliche Regeln direkt nach der Zeile ^index\.php$ über die Klasse WP_Rewrite hinzufügen, genauer gesagt über die Methode add_external_rule(). Sie werden zum Array non_rewrite_ruleshinzugefügt, das in der Methode mod_rewrite_rules() geschrieben ist.

Dies ist ein sehr einfaches Beispiel. Sie sollten die Umschreiberegeln dennoch (einmal) löschen, entweder bei der Aktivierung des Plugins oder indem Sie die Seite Permalinks besuchen.

add_action( 'init', 'wpse9966_init' );
function wpse9966_init()
{
    global $wp_rewrite;
    // The pattern is prefixed with '^'
    // The substitution is prefixed with the "home root", at least a '/'
    $wp_rewrite->add_external_rule( 'images/thumb/(.*)$', 'timthumb.php?filename=$1' );
}
4
Jan Fabry