htaccess löscht automatisch einträge
-
Hallo zusammen, ich habe folgendes Problem. Jede Woche mindestens einmal verschwindet aus meiner htaccess Datei folgender Code:
<i># BEGIN WordPress # Die Anweisungen (Zeilen) zwischen „BEGIN WordPress“ und „END WordPress“ sind # dynamisch generiert und sollten nur über WordPress-Filter geändert werden. # Alle Änderungen an den Anweisungen zwischen diesen Markierungen werden überschrieben. <IfModule mod_rewrite.c> RewriteEngine On RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress</i>
Danach laufen alle Unterseiten in 404 Error. Wenn ich die Zeilen wieder hinzufüge, gehts wieder.
Ich nutze WP-Space als Hoster mit deren größtem Paket. PHP 8.1 – Redis Cache – AccelerateWP Cache – Elementor + XStore Theme
Kennt ihr das Verhalten? Durch was kann es ausgelöst werden? Gerne teile ich mit euch Protokolle und Events, ich habe auch einen Uptime Monitor eingerichtet. Dieser hat heute um 15:37 gemeldet das wieder die unterseiten in 404 laufen.Die Seite, für die ich Hilfe brauche: [Anmelden, um den Link zu sehen]
-
Die Anweisungen in der
.htaccess
dienen dazu, alle Webseitenaufrufe an dieindex.php
umzuleiten, um dann die angeforderte Seite/Beitrag aus der Datenbank abzurufen. Das Tag<i>…</i>
gehört dort allerdings nicht hin – ist das wirklich Bestandteil der Datei? Dann solltest du es löschen.Ohne die
.htaccess
funktionieren die „sprechenden“ Permalinks (sowas wiehttps://example.com/ueber-uns
) nicht. Du müsstest dann auf einfache Permalins (https://example.com/?p=42
) umstellen. Diese Umstellung nimmt WordPress nicht automatisch vor, deshalb die 404-Meldungen.Bleibt die Frage, wieso die Zeilen regelmäßig aus der
.htaccess
verschwinden. WordPress nimmt keine Änderung eigenmächtig vor, es sei denn du änderst die Permalink-Einstellungen. Ein Plugin kommt eher in Betracht, etwas zur Performance-Optimierung oder Absicherung gegen Angriffe könnte Informationen in die.htaccess
schreiben und dabei vorhandene Daten überschreiben. Das ist aber nur geraten – ohne Informationen zur Website lässt sich das nicht konkret beurteilen. Bitte teile deshalb hier noch den Website-Bericht (Werkzeuge > Website-Zustand > Tab Berich > auf Button klicken, dann hier einfügen).Möglich wäre auch, dass vom Webhoster die Datei gelöscht wird, wenn z.B. ein Fehler regelmäßig im Error-Log erscheint und die Server-Performance beeinträchtigt. Hast du mal beim Support des Webhosters nachgefragt?
Hallo @pixolin, die
<i>…</i>
sind im Original nicht enthalten (habe es scheinbar falsch eingefügt..)Den Bericht findest du hier:
### wp-core ###version: 6.4.3 site_language: de_DE user_language: de_DE timezone: Europe/Berlin permalink: /%postname%/ https_status: true multisite: false user_registration: 0 blog_public: 1 default_comment_status: open environment_type: production user_count: 8 dotorg_communication: true ### wp-paths-sizes ###wordpress_path: /var/www/vhosts/modernbedacht.de/ httpdocswordpress_size: loading... uploads_path: /var/www/vhosts/modernbedacht.de/httpdocs/wp-content/ uploadsuploads_size: loading... themes_path: /var/www/vhosts/modernbedacht.de/httpdocs/wp-content/themes themes_size: loading... plugins_path: /var/www/vhosts/modernbedacht.de/httpdocs/wp-content/plugins plugins_size: loading... database_size: loading... total_size: loading... ### wp-dropins (3) ###advanced-cache.php: true maintenance.php: true object-cache.php: true ### wp-active-theme ###name: XStore Child (xstore-child) version: 1.0 author: 8 themeauthor_website: http://8theme.com parent_theme: XStore (xstore) theme_features: core-block-patterns, woocommerce, wc-product-gallery-zoom, widgets-block-editor, post-formats, post-thumbnails, automatic-feed-links, title-tag, customize-selective-refresh-widgets, header-footer-elementor, widgets theme_path: /var/www/vhosts/modernbedacht.de/httpdocs/wp-content/themes/xstore-child auto_update: Deaktiviert ### wp-parent-theme ###name: XStore (xstore) version: 9.2.8 (latest version: 9.2.9) author: 8 Themeauthor_website: http://Diese%20Seite%20kann%20nicht%20gefunden%20werden theme_path: /var/www/vhosts/modernbedacht.de/httpdocs/wp-content/themes/xstore auto_update: Deaktiviert ### wp-themes-inactive (2) ###Storefront: version: 4.5.4, author: Automattic, Automatische Aktualisierungen deaktiviertTwenty Twenty-Four: version: 1.0, author: Das WordPress-Team, Automatische Aktualisierungen deaktiviert### wp-mu-plugins (1) ###ManageWP - Worker Loader: version: 1.0.0, author: GoDaddy ### wp-plugins-active (31) ###AccelerateWP: version: 3.15.4-1.1-13, author: CloudLinux, Automatische Aktualisierungen deaktiviert Category Discount Woocommerce: version: 4.14, author: QuanticEdge, Automatische Aktualisierungen deaktiviert Code Snippets: version: 3.6.2, author: Code Snippets Pro, Automatische Aktualisierungen deaktiviert Elementor: version: 3.20.1, author: Elementor.com, Automatische Aktualisierungen deaktiviert Elementor Pro: version: 3.20.0, author: Elementor.com, Automatische Aktualisierungen deaktiviert EWWW Image Optimizer: version: 7.4.0, author: Exactly WWW, Automatische Aktualisierungen deaktiviert Extra Product Options & Add-Ons for WooCommerce: version: 6.4.4, author: ThemeComplete, Automatische Aktualisierungen deaktiviertFilter Everything PRO: version: 1.8.3, author: Andrii Stepasiuk, Automatische Aktualisierungen deaktiviert Flexible Shipping: version: 4.24.17, author: Octolize, Automatische Aktualisierungen deaktiviert German Market: version: 3.35.1, author: MarketPress, Automatische Aktualisierungen deaktiviert Google Analytics for WooCommerce: version: 2.0.3, author: WooCommerce, Automatische Aktualisierungen deaktiviert Google Listings and Ads: version: 2.6.2, author: WooCommerce, Automatische Aktualisierungen deaktiviert GTM4WP - A Google Tag Manager (GTM) plugin for WordPress: version: 1.20, author: Thomas Geiger, Automatische Aktualisierungen deaktiviert Loco Translate: version: 2.6.6, author: Tim Whitlock, Automatische Aktualisierungen deaktiviert ManageWP - Worker: version: 4.9.19, author: GoDaddy, Automatische Aktualisierungen deaktiviert Quform: version: 2.20.0, author: ThemeCatcher, Automatische Aktualisierungen deaktiviert Rank Math SEO: version: 1.0.214, author: Rank Math, Automatische Aktualisierungen aktiviert Rank Math SEO PRO: version: 3.0.57, author: Rank Math, Automatische Aktualisierungen aktiviert Real Cookie Banner: version: 4.6.0, author: devowl.io, Automatische Aktualisierungen aktiviert Redis Object Cache: version: 2.5.1, author: Till Krüss, Automatische Aktualisierungen deaktiviert UnderConstructionPage PRO: version: 5.75, author: Web factory Ltd, Automatische Aktualisierungen deaktiviert UpdraftPlus - Backup/Restore: version: 1.24.1, author: UpdraftPlus.Com, DavidAnderson, Automatische Aktualisierungen deaktiviert WhatsApp Chat by NinjaTeam: version: 3.6, author: NinjaTeam, Automatische Aktualisierungen deaktiviert WooCommerce: version: 8.6.1, author: Automattic, Automatische Aktualisierungen deaktiviert WooCommerce PayPal Payments: version: 2.5.4, author: WooCommerce, Automatische Aktualisierungen deaktiviert WooPayments: version: 7.3.0, author: Automattic, Automatische Aktualisierungen deaktiviert WP Crontrol: version: 1.16.1, author: John Blackbourn & crontributors, Automatische Aktualisierungen deaktiviert WPForms Lite: version: 1.8.7.2, author: WPForms, Automatische Aktualisierungen deaktiviert WP Mail SMTP: version: 4.0.1, author: WP Mail SMTP, Automatische Aktualisierungen deaktiviert WPS Hide Login: version: 1.9.13.2, author: WPServeur, NicolasKulka, wpformation, Automatische Aktualisierungen deaktiviert XStore Core: version: 5.2.8, author: 8theme (latest version: 5.2.9), Automatische Aktualisierungen deaktiviert ### wp-plugins-inactive (4) ###NinjaFirewall (WP Edition): version: 4.5.11, author: The Ninja Technologies Network, Automatische Aktualisierungen deaktiviert NinjaScanner: version: 3.2, author: The Ninja Technologies Network, Automatische Aktualisierungen deaktiviert Query Monitor: version: 3.15.0, author: John Blackbourn, Automatische Aktualisierungen deaktiviert WP Rocket: version: 3.15.9, author: WP Media, Automatische Aktualisierungen deaktiviert ### code-snippets (1) ###snippet-5: name: WordPress Versionsnummer verbergen, scope: global, modified: 2024-02-27 08:56:40### wp-media ###image_editor: EWWWIO_Imagick_Editorimagick_module_version: 1692imagemagick_version: ImageMagick 6.9.12-54 Q16 x86_64 17322 https://legacy.imagemagick.orgimagick_version: 3.7.0file_uploads: 1post_max_size: 2Gupload_max_filesize: 2Gmax_effective_size: 2 GBmax_file_uploads: 20gd_version: bundled (2.1.0 compatible)gd_formats: GIF, JPEG, PNG, WebP, BMP, XPMghostscript_version: not available### wp-server ###server_architecture: Linux 4.18.0-477.27.2.lve.el8.x86_64 x86_64 httpd_software: nginx/1.24.0 php_version: 8.1.27 64bit php_sapi: fpm-fcgi max_input_variables: 3000 time_limit: 600 memory_limit: 1024M max_input_time: 600 upload_max_filesize: 2G php_post_max_size: 2G curl_version: 7.61.1 OpenSSL/1.1.1ksuhosin: false imagick_availability: true pretty_permalinks: true htaccess_extra_rules: true current: 2024-03-14T15:50:29+00:00utc-time: Thursday, 14-Mar-24 15:50:29 UTCserver-time: 2024-03-14T16:50:22+01:00### wp-database ###extension: mysqliserver_version: 10.6.15-MariaDB-cll-lveclient_version: mysqlnd 8.1.27max_allowed_packet: 16777216max_connections: 151### wp-constants ###WP_HOME: undefined WP_SITEURL: https://modernbedacht.de/ WP_CONTENT_DIR: /var/www/vhosts/modernbedacht.de/httpdocs/wp-content WP_PLUGIN_DIR: /var/www/vhosts/modernbedacht.de/httpdocs/wp-content/pluginsWP_MEMORY_LIMIT: 40MWP_MAX_MEMORY_LIMIT: 1024MWP_DEBUG: falseWP_DEBUG_DISPLAY: falseWP_DEBUG_LOG: falseSCRIPT_DEBUG: falseWP_CACHE: trueCONCATENATE_SCRIPTS: falseCOMPRESS_SCRIPTS: undefinedCOMPRESS_CSS: undefinedWP_ENVIRONMENT_TYPE: Nicht definiertWP_DEVELOPMENT_MODE: undefinedDB_CHARSET: utf8DB_COLLATE: undefined### wp-filesystem ###wordpress: writablewp-content: writableuploads: writableplugins: writablethemes: writablemu-plugins: writable### wp_mail_smtp ###version: 4.0.1license_key_type: litedebug: Keine Debug-Hinweise gefunden.lite_install_date: Sep 21, 2023 @ 1:51pm### wpforms ###version: 1.8.7.2lite: 11. September 2023 um 14:10 Uhrupload_dir: Beschreibbartotal_forms: 1total_submissions: 17
Mit dem Webhoster hatte ich schon gesprochen die können leider keine Fehler oder Einträge sehen (kann aber auch nicht sagen was ich alles angeschaut haben) Das Hosting hat eine eigene WAF läuft scheinbar mit Cloudlinux das ganze.
Hier findest du noch meine Original htaccess
# BEGIN AccelerateWP # Use UTF-8 encoding for anything served text/plain or text/html AddDefaultCharset UTF-8 # Force UTF-8 for a number of file formats <IfModule mod_mime.c> AddCharset UTF-8 .atom .css .js .json .rss .vtt .xml </IfModule> # FileETag None is not enough for every server. <IfModule mod_headers.c> Header unset ETag </IfModule> # Since we’re sending far-future expires, we don’t need ETags for static content. # developer.yahoo.com/performance/rules.html#etags FileETag None # Send CORS headers if browsers request them; enabled by default for images. <IfModule mod_setenvif.c> <IfModule mod_headers.c> # mod_headers, y u no match by Content-Type?! <FilesMatch "\.(avifs?|cur|gif|png|jpe?g|svgz?|ico|webp)$"> SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=IS_CORS </FilesMatch> </IfModule> </IfModule> # Allow access to web fonts from all domains. <FilesMatch "\.(eot|otf|tt[cf]|woff2?)$"> <IfModule mod_headers.c> Header set Access-Control-Allow-Origin "*" </IfModule> </FilesMatch> <IfModule mod_alias.c> <FilesMatch "\.(html|htm|rtf|rtx|txt|xsd|xsl|xml)$"> <IfModule mod_headers.c> Header set X-Powered-By "AccelerateWP" Header unset Pragma Header append Cache-Control "public" Header unset Last-Modified </IfModule> </FilesMatch> <FilesMatch "\.(css|htc|js|asf|asx|wax|wmv|wmx|avi|bmp|class|divx|doc|docx|eot|exe|gif|gz|gzip|ico|jpg|jpeg|jpe|json|mdb|mid|midi|mov|qt|mp3|m4a|mp4|m4v|mpeg|mpg|mpe|mpp|otf|odb|odc|odf|odg|odp|ods|odt|ogg|pdf|png|pot|pps|ppt|pptx|ra|ram|svg|svgz|swf|tar|tif|tiff|ttf|ttc|wav|wma|wri|xla|xls|xlsx|xlt|xlw|zip)$"> <IfModule mod_headers.c> Header unset Pragma Header append Cache-Control "public" </IfModule> </FilesMatch> </IfModule> <IfModule mod_mime.c> AddType image/avif avif AddType image/avif-sequence avifs </IfModule> # Expires headers (for better cache control) <IfModule mod_expires.c> ExpiresActive on ExpiresDefault "access plus 1 month" # cache.appcache needs re-requests in FF 3.6 (thanks Remy ~Introducing HTML5) ExpiresByType text/cache-manifest "access plus 0 seconds" # Your document html ExpiresByType text/html "access plus 0 seconds" # Data ExpiresByType text/xml "access plus 0 seconds" ExpiresByType application/xml "access plus 0 seconds" ExpiresByType application/json "access plus 0 seconds" # Feed ExpiresByType application/rss+xml "access plus 1 hour" ExpiresByType application/atom+xml "access plus 1 hour" # Favicon (cannot be renamed) ExpiresByType image/x-icon "access plus 1 week" # Media: images, video, audio ExpiresByType image/gif "access plus 4 months" ExpiresByType image/png "access plus 4 months" ExpiresByType image/jpeg "access plus 4 months" ExpiresByType image/webp "access plus 4 months" ExpiresByType video/ogg "access plus 4 months" ExpiresByType audio/ogg "access plus 4 months" ExpiresByType video/mp4 "access plus 4 months" ExpiresByType video/webm "access plus 4 months" ExpiresByType image/avif "access plus 4 months" ExpiresByType image/avif-sequence "access plus 4 months" # HTC files (css3pie) ExpiresByType text/x-component "access plus 1 month" # Webfonts ExpiresByType font/ttf "access plus 4 months" ExpiresByType font/otf "access plus 4 months" ExpiresByType font/woff "access plus 4 months" ExpiresByType font/woff2 "access plus 4 months" ExpiresByType image/svg+xml "access plus 4 months" ExpiresByType application/vnd.ms-fontobject "access plus 1 month" # CSS and JavaScript ExpiresByType text/css "access plus 1 year" ExpiresByType application/javascript "access plus 1 year" </IfModule> # Gzip compression <IfModule mod_deflate.c> # Active compression SetOutputFilter DEFLATE # Force deflate for mangled headers <IfModule mod_setenvif.c> <IfModule mod_headers.c> SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding # Don’t compress images and other uncompressible content SetEnvIfNoCase Request_URI \ \.(?:gif|jpe?g|png|rar|zip|exe|flv|mov|wma|mp3|avi|swf|mp?g|mp4|webm|webp|pdf)$ no-gzip dont-vary </IfModule> </IfModule> # Compress all output labeled with one of the following MIME-types <IfModule mod_filter.c> AddOutputFilterByType DEFLATE application/atom+xml \ application/javascript \ application/json \ application/rss+xml \ application/vnd.ms-fontobject \ application/x-font-ttf \ application/xhtml+xml \ application/xml \ font/opentype \ image/svg+xml \ image/x-icon \ text/css \ text/html \ text/plain \ text/x-component \ text/xml </IfModule> <IfModule mod_headers.c> Header append Vary: Accept-Encoding </IfModule> </IfModule> <IfModule mod_mime.c> AddType text/html .html_gzip AddEncoding gzip .html_gzip </IfModule> <IfModule mod_setenvif.c> SetEnvIfNoCase Request_URI \.html_gzip$ no-gzip </IfModule> <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{HTTPS} on [OR] RewriteCond %{SERVER_PORT} ^443$ [OR] RewriteCond %{HTTP:X-Forwarded-Proto} https RewriteRule .* - [E=WPR_SSL:-https] RewriteCond %{HTTP:Accept-Encoding} gzip RewriteRule .* - [E=WPR_ENC:_gzip] RewriteCond %{REQUEST_METHOD} GET RewriteCond %{QUERY_STRING} ="" RewriteCond %{HTTP:Cookie} !(wordpress_logged_in_.+|wp-postpass_|wptouch_switch_toggle|comment_author_|comment_author_email_) [NC] RewriteCond %{REQUEST_URI} !^(/(?:.+/)?feed(?:/(?:.+/?)?)?$|/(?:.+/)?embed/|/pixiweb-admin-login/|/kasse/??(.*)|/warenkorb/?|/mein-account/??(.*)|/wc-api/v(.*)|/(index.php/)?(.*)wp-json(/.*|$))$ [NC] RewriteCond %{HTTP_USER_AGENT} !^(facebookexternalhit|WhatsApp).* [NC] RewriteCond "%{DOCUMENT_ROOT}/wp-content/cache/wp-rocket/%{HTTP_HOST}%{REQUEST_URI}/index%{ENV:WPR_SSL}%{ENV:WPR_WEBP}.html%{ENV:WPR_ENC}" -f RewriteRule .* "/wp-content/cache/wp-rocket/%{HTTP_HOST}%{REQUEST_URI}/index%{ENV:WPR_SSL}%{ENV:WPR_WEBP}.html%{ENV:WPR_ENC}" [L] </IfModule> # END AccelerateWP # BEGIN WordPress # Die Anweisungen (Zeilen) zwischen „BEGIN WordPress“ und „END WordPress“ sind # dynamisch generiert und sollten nur über WordPress-Filter geändert werden. # Alle Änderungen an den Anweisungen zwischen diesen Markierungen werden überschrieben. <IfModule mod_rewrite.c> RewriteEngine On RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress
- Diese Antwort wurde geändert vor 7 Monaten, 4 Wochen von Bego Mario Garde.
- Diese Antwort wurde geändert vor 7 Monaten, 4 Wochen von Bego Mario Garde. Grund: Formatierung Website-Bericht
Keine Ahnung, wie du das angestellt hast 😀 aber der Website-Bericht hatte keine Zeilenumbrüche. Ich habe die nachträglich eingefügt, was etwas … mühsam war.
Du verwendest recht viele Plugins, von denen z.B. Manage-WP oder RankMath die Ursache für die Änderungen in der
.htaccess
sein könnten. Du könntest probieren, die Plugins mal für eine Weile zu deaktivieren, um sie als Ursache auszuschließen. AccelerateWP hat auch einiges in die.htaccess
geschrieben, kommt also ebenfalls als Ursache in Frage.Wenn du das Plugin WP-Rocket deaktivierst, solltest du auch die zugehörigen Einträge in der
.htaccess
auskommentieren. Scheinbar hat aber auch AccelerateWP eine Regel in die.htaccess
für eine Weiterleitung in das Verzeichnis/wp-content/cache/wp-rocket/
geschrieben. – So lange du Probleme mit der Website hast, solltest du erst einmal auf alle Tools zur Performance-Optimierung verzichten, frei nach dem Motto „Make It Work, Make It Right, Make It Fast“.Hey @pixolin ich werde es mal versuchen. AccerlerateWP und WP Rocket sind eigentlich gleich nur AccerlerateWP ist scheinbar ein OpenSource Projekt basierend auf WP Rocket. Ich denke, die Einträge werden durch AccerlerateWP herein geschrieben, aber ich Prüfe das nochmal genau nach was hier was macht und entferne alles was nicht notwendig ist, eigentlich WP Rocket auch in der Plugin übersicht deaktivert.
wenn du ein Plugin deaktivierst, ändert sich aber nicht der Eintrag in der
.htaccess
.Hast du einmal in die error.log geschaut? Sieh mal dort:
https://serverfault.com/questions/1127378/default-wordpress-htaccess-rewrites-causes-default-server-page-to-load-due-to-nHey @la-geek ich habe mal nachgeschaut, aber meine Apache Logs zeigen nicht wirklich was. Heute Abend ist das Problem wieder aufgetreten. Bemerkbar macht es sich auch, dass die Filterfunktion des Shops (dritt Anbieter Plugin) nicht mehr funktioniert.
Ich habe mal geschaut nach den Allgemeinen Logs und das ist mir aufgefallen, vielleicht gibts ne Spur 🙂 :Ab 18:31 treten einige Fehler auf, bis es wieder behoben habe.
- Diese Antwort wurde geändert vor 7 Monaten, 3 Wochen von dan10910.
Ich habe vor kurzem eine (kleine) Webseite übernommen, dort fehlten ebenfalls alle Zeilen
# BEGIN WordPress .... # END WordPress
Allerdings hatte das keine Auswirkungen so wie bei dir. Ich habe die Zeilen wieder eingefügt, sie waren wieder nach einer Weile wieder gelöscht. Daraufhin habe ich erstmal einfach die Zeilen zwischen „Begin“ und „End“ oberhalb dieser noch einmal eingetragen (ohne „Begin“ und „End“).
Nachdem ich die Website (sweep) und die Plugins aufgeräumt habe und nur Plugins verwendet habe, die ich bis dahin kannte bzw. die wirklich gebraucht wurden, war Ruhe. Ich vermute, es lag hier an einem Plugin „xmlrpc irgendwas“ (weiß nicht mehr genau).
Ich hätte noch wps hide login im verdacht. Vielleicht verzichtet ihr ein paar Tage darauf.
- Das Thema „htaccess löscht automatisch einträge“ ist für neue Antworten geschlossen.