Search Results (Searched for: automatic)

08 Aug 2025 19:44

Seems Kunena cant handled "Use URL Rewriting" .htaccess and multilangauge sites..

Yes it can. So either your site isn't configureren correctly or your htaccess contains specific mijn standard rules.
 
Yes thats true. The site consists of the long time developed and used Joomla Master htaccess that was developed enhanced from Nikos Akeeba and others for Joomla better performance, security and SEF handling. It have never been a problem with other Joomla extensions and standard extensions too.

You have test this htaccess file here and adapt it to your own site change the domain name. Its extracted from latest Akeeba Admin Tools pro and some other extra settings there. Pls Pinkeltje  let me know if you find something that is exactly a problem for Kunena there. thks
Code:
### =========================================================================== ### Security Enhanced & Highly Optimized .htaccess File for Joomla! ### automatically generated by Admin Tools 7.8.1 on 2025-08-07 15:34:41 CEST ### Auto-detected Apache version: 2.4 (best guess) ### =========================================================================== ### ### The contents of this file are based on the same author's work "Master ### .htaccess". ### ### Admin Tools is Free Software, distributed under the terms of the GNU ### General Public License version 3 or, at your option, any later version ### published by the Free Software Foundation. ### ### !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! IMPORTANT !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ### !!                                                                       !! ### !!  If you get an Internal Server Error 500 or a blank page when trying  !! ### !!  to access your site, remove this file and try tweaking its settings  !! ### !!  in the back-end of the Admin Tools component.                        !! ### !!                                                                       !! ### !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ### ##### Restricted access by IP address -- BEGIN Require ip 173.245.48.0/20 Require ip 103.21.244.0/22 Require ip 103.22.200.0/22 Require ip 103.31.4.0/22 Require ip 141.101.64.0/18 Require ip 108.162.192.0/18 Require ip 190.93.240.0/20 Require ip 188.114.96.0/20 Require ip 197.234.240.0/22 Require ip 198.41.128.0/17 Require ip 162.158.0.0/15 Require ip 104.16.0.0/13 Require ip 104.24.0.0/14 Require ip 172.64.0.0/13 Require ip 131.0.72.0/22 Require ip 173.245.48.0/20 Require ip 103.21.244.0/22 Require ip 103.22.200.0/22 Require ip 103.31.4.0/22 Require ip 141.101.64.0/18 Require ip 108.162.192.0/18 Require ip 190.93.240.0/20 Require ip 188.114.96.0/20 Require ip 197.234.240.0/22 Require ip 198.41.128.0/17 Require ip 162.158.0.0/15 Require ip 104.16.0.0/13 Require ip 104.24.0.0/14 Require ip 172.64.0.0/13 Require ip 131.0.72.0/22 ##### Restricted access by IP address -- END ##### RewriteEngine enabled - BEGIN RewriteEngine On ##### RewriteEngine enabled - END # PHP FastCGI fix for HTTP Authorization RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] ##### RewriteBase set - BEGIN RewriteBase / ##### RewriteBase set - END ##### HTTP to HTTPS redirection ## Since you have enabled HSTS the first redirection rule will instruct the browser to visit the HTTPS version of your ## site. This prevents unsafe redirections through HTTP. RewriteCond %{HTTPS} !=on RewriteCond %{HTTP:X-Forwarded-Proto} !=https RewriteRule .* https://www.yoursitechangehere.com%{REQUEST_URI} [L,R=301] ##### Custom Rules (Top of File) -- BEGIN php_value upload_max_filesize 512M php_value post_max_size 512M php_value memory_limit 128G php_value max_input_time 280 php_value max_execution_time 3500 php_value max_input_vars 6500 php_value output_buffering Off RewriteRule .*wp-.* /no.html [NC,L,R=301] <FilesMatch "\.(ttf|ttc|otf|eot|woff)$"> <IfModule mod_headers.c>   Header set Access-Control-Allow-Origin "*"   Header set Access-Control-Allow-Headers "Origin, X-Requested-With, Content-Type, Accept, Authorization"   Header set Access-Control-Allow-Methods "GET, POST, PUT, DELETE, OPTIONS" Header always set X-Content-Type-Options "nosniff" </IfModule> </FilesMatch>  ## Always use latest PHP-version AddType application/x-httpd-php-latest .php RewriteRule "\.css\.gz$" "-" [T=text/css,E=no-gzip:1,E=no-brotli:1] RewriteRule "\.js\.gz$" "-" [T=text/javascript,E=no-gzip:1,E=no-brotli:1] ##### Custom Rules (Top of File) -- END ##### File execution order -- BEGIN DirectoryIndex index.php index.html ##### File execution order -- END ##### No directory listings -- BEGIN IndexIgnore * ##### No directory listings -- END ##### Common hacking tools and bandwidth hoggers block -- BEGIN <IfModule mod_setenvif.c> SetEnvIf user-agent "(?i:AI2Bot)" stayout=1 SetEnvIf user-agent "(?i:Acunetix)" stayout=1 SetEnvIf user-agent "(?i:Amazonbot)" stayout=1 SetEnvIf user-agent "(?i:Applebot)" stayout=1 SetEnvIf user-agent "(?i:Applebot-Extended)" stayout=1 SetEnvIf user-agent "(?i:BOT for JCE)" stayout=1 SetEnvIf user-agent "(?i:BingBot)" stayout=1 SetEnvIf user-agent "(?i:BlackWidow)" stayout=1 SetEnvIf user-agent "(?i:Bolt 0)" stayout=1 SetEnvIf user-agent "(?i:Bot mailto:[email protected])" stayout=1 SetEnvIf user-agent "(?i:Bytespider)" stayout=1 SetEnvIf user-agent "(?i:CCBot)" stayout=1 SetEnvIf user-agent "(?i:CazoodleBot)" stayout=1 SetEnvIf user-agent "(?i:ChatGPT-User)" stayout=1 SetEnvIf user-agent "(?i:ChatGPT-User/2.0)" stayout=1 SetEnvIf user-agent "(?i:ChinaClaw)" stayout=1 SetEnvIf user-agent "(?i:ClaudeBot)" stayout=1 SetEnvIf user-agent "(?i:Custo)" stayout=1 SetEnvIf user-agent "(?i:DIIbot)" stayout=1 SetEnvIf user-agent "(?i:DISCo)" stayout=1 SetEnvIf user-agent "(?i:Default Browser 0)" stayout=1 SetEnvIf user-agent "(?i:Diffbot)" stayout=1 SetEnvIf user-agent "(?i:Download Demon)" stayout=1 SetEnvIf user-agent "(?i:DuckAssistBot)" stayout=1 SetEnvIf user-agent "(?i:EirGrabber)" stayout=1 SetEnvIf user-agent "(?i:EmailCollector)" stayout=1 SetEnvIf user-agent "(?i:EmailSiphon)" stayout=1 SetEnvIf user-agent "(?i:EmailWolf)" stayout=1 SetEnvIf user-agent "(?i:Express WebPictures)" stayout=1 SetEnvIf user-agent "(?i:ExtractorPro)" stayout=1 SetEnvIf user-agent "(?i:EyeNetIE)" stayout=1 SetEnvIf user-agent "(?i:FHscan)" stayout=1 SetEnvIf user-agent "(?i:FacebookBot)" stayout=1 SetEnvIf user-agent "(?i:FlashGet)" stayout=1 SetEnvIf user-agent "(?i:GPTBot)" stayout=1 SetEnvIf user-agent "(?i:GT::WWW)" stayout=1 SetEnvIf user-agent "(?i:GetRight)" stayout=1 SetEnvIf user-agent "(?i:GetWeb!)" stayout=1 SetEnvIf user-agent "(?i:Go!Zilla)" stayout=1 SetEnvIf user-agent "(?i:Go-Ahead-Got-It)" stayout=1 SetEnvIf user-agent "(?i:Google-Extended)" stayout=1 SetEnvIf user-agent "(?i:GrabNet)" stayout=1 SetEnvIf user-agent "(?i:Grafula)" stayout=1 SetEnvIf user-agent "(?i:HMView)" stayout=1 SetEnvIf user-agent "(?i:HTTP::Lite)" stayout=1 SetEnvIf user-agent "(?i:HTTrack)" stayout=1 SetEnvIf user-agent "(?i:IDBot)" stayout=1 SetEnvIf user-agent "(?i:IRLbot)" stayout=1 SetEnvIf user-agent "(?i:ISC Systems iRc Search 2.1)" stayout=1 SetEnvIf user-agent "(?i:Image Stripper)" stayout=1 SetEnvIf user-agent "(?i:Image Sucker)" stayout=1 SetEnvIf user-agent "(?i:Indy Library)" stayout=1 SetEnvIf user-agent "(?i:InterGET)" stayout=1 SetEnvIf user-agent "(?i:Internet Ninja)" stayout=1 SetEnvIf user-agent "(?i:InternetSeer.com)" stayout=1 SetEnvIf user-agent "(?i:JOC Web Spider)" stayout=1 SetEnvIf user-agent "(?i:Java)" stayout=1 SetEnvIf user-agent "(?i:JetCar)" stayout=1 SetEnvIf user-agent "(?i:LeechFTP)" stayout=1 SetEnvIf user-agent "(?i:LinkedInBot)" stayout=1 SetEnvIf user-agent "(?i:LinksManager.com_bot)" stayout=1 SetEnvIf user-agent "(?i:MFC_Tear_Sample)" stayout=1 SetEnvIf user-agent "(?i:MIDown tool)" stayout=1 SetEnvIf user-agent "(?i:MSFrontPage)" stayout=1 SetEnvIf user-agent "(?i:Mass Downloader)" stayout=1 SetEnvIf user-agent "(?i:Maxthon$)" stayout=1 SetEnvIf user-agent "(?i:Microsoft URL Control)" stayout=1 SetEnvIf user-agent "(?i:Missigua Locator)" stayout=1 SetEnvIf user-agent "(?i:Mister PiX)" stayout=1 SetEnvIf user-agent "(?i:MistralAI-User)" stayout=1 SetEnvIf user-agent "(?i:MistralAI-User/1.0)" stayout=1 SetEnvIf user-agent "(?i:NEWT)" stayout=1 SetEnvIf user-agent "(?i:Navroad)" stayout=1 SetEnvIf user-agent "(?i:NearSite)" stayout=1 SetEnvIf user-agent "(?i:Net Vampire)" stayout=1 SetEnvIf user-agent "(?i:NetAnts)" stayout=1 SetEnvIf user-agent "(?i:NetSpider)" stayout=1 SetEnvIf user-agent "(?i:NetZIP)" stayout=1 SetEnvIf user-agent "(?i:OAI-SearchBot)" stayout=1 SetEnvIf user-agent "(?i:Octopus)" stayout=1 SetEnvIf user-agent "(?i:Offline Explorer)" stayout=1 SetEnvIf user-agent "(?i:Offline Navigator)" stayout=1 SetEnvIf user-agent "(?i:PECL::HTTP)" stayout=1 SetEnvIf user-agent "(?i:PHPCrawl)" stayout=1 SetEnvIf user-agent "(?i:PageGrabber)" stayout=1 SetEnvIf user-agent "(?i:Papa Foto)" stayout=1 SetEnvIf user-agent "(?i:PeoplePal)" stayout=1 SetEnvIf user-agent "(?i:Perplexity-User)" stayout=1 SetEnvIf user-agent "(?i:Perplexity-User/1.0)" stayout=1 SetEnvIf user-agent "(?i:PerplexityBot)" stayout=1 SetEnvIf user-agent "(?i:PleaseCrawl)" stayout=1 SetEnvIf user-agent "(?i:ReGet)" stayout=1 SetEnvIf user-agent "(?i:RealDownload)" stayout=1 SetEnvIf user-agent "(?i:Rippers 0)" stayout=1 SetEnvIf user-agent "(?i:SBIder)" stayout=1 SetEnvIf user-agent "(?i:SeaMonkey$)" stayout=1 SetEnvIf user-agent "(?i:SiteSnagger)" stayout=1 SetEnvIf user-agent "(?i:SmartDownload)" stayout=1 SetEnvIf user-agent "(?i:Snoopy)" stayout=1 SetEnvIf user-agent "(?i:Steeler)" stayout=1 SetEnvIf user-agent "(?i:SuperBot)" stayout=1 SetEnvIf user-agent "(?i:SuperHTTP)" stayout=1 SetEnvIf user-agent "(?i:Surfbot)" stayout=1 SetEnvIf user-agent "(?i:Teleport Pro)" stayout=1 SetEnvIf user-agent "(?i:TimpiBot)" stayout=1 SetEnvIf user-agent "(?i:Toata dragostea mea pentru diavola)" stayout=1 SetEnvIf user-agent "(?i:TurnitinBot)" stayout=1 SetEnvIf user-agent "(?i:URI::Fetch)" stayout=1 SetEnvIf user-agent "(?i:VoidEYE)" stayout=1 SetEnvIf user-agent "(?i:WEP Search)" stayout=1 SetEnvIf user-agent "(?i:WWW-Mechanize)" stayout=1 SetEnvIf user-agent "(?i:WWWOFFLE)" stayout=1 SetEnvIf user-agent "(?i:Web Image Collector)" stayout=1 SetEnvIf user-agent "(?i:Web Sucker)" stayout=1 SetEnvIf user-agent "(?i:WebAuto)" stayout=1 SetEnvIf user-agent "(?i:WebBandit)" stayout=1 SetEnvIf user-agent "(?i:WebCollage)" stayout=1 SetEnvIf user-agent "(?i:WebCopier)" stayout=1 SetEnvIf user-agent "(?i:WebFetch)" stayout=1 SetEnvIf user-agent "(?i:WebGo IS)" stayout=1 SetEnvIf user-agent "(?i:WebLeacher)" stayout=1 SetEnvIf user-agent "(?i:WebReaper)" stayout=1 SetEnvIf user-agent "(?i:WebSauger)" stayout=1 SetEnvIf user-agent "(?i:WebStripper)" stayout=1 SetEnvIf user-agent "(?i:WebWhacker)" stayout=1 SetEnvIf user-agent "(?i:WebZIP)" stayout=1 SetEnvIf user-agent "(?i:Website Quester)" stayout=1 SetEnvIf user-agent "(?i:Website eXtractor)" stayout=1 SetEnvIf user-agent "(?i:Wells Search II)" stayout=1 SetEnvIf user-agent "(?i:Wget)" stayout=1 SetEnvIf user-agent "(?i:Widow)" stayout=1 SetEnvIf user-agent "(?i:Xaldon WebSpider)" stayout=1 SetEnvIf user-agent "(?i:Yandex)" stayout=1 SetEnvIf user-agent "(?i:YouBot)" stayout=1 SetEnvIf user-agent "(?i:Zeus)" stayout=1 SetEnvIf user-agent "(?i:ZyBorg)" stayout=1 SetEnvIf user-agent "(?i:binlar)" stayout=1 SetEnvIf user-agent "(?i:casper)" stayout=1 SetEnvIf user-agent "(?i:checkprivacy)" stayout=1 SetEnvIf user-agent "(?i:claude-web)" stayout=1 SetEnvIf user-agent "(?i:clshttp)" stayout=1 SetEnvIf user-agent "(?i:cmsworldmap)" stayout=1 SetEnvIf user-agent "(?i:cohere-ai)" stayout=1 SetEnvIf user-agent "(?i:comodo)" stayout=1 SetEnvIf user-agent "(?i:diavol)" stayout=1 SetEnvIf user-agent "(?i:discobot)" stayout=1 SetEnvIf user-agent "(?i:dotbot)" stayout=1 SetEnvIf user-agent "(?i:eCatch)" stayout=1 SetEnvIf user-agent "(?i:ecxi)" stayout=1 SetEnvIf user-agent "(?i:extract)" stayout=1 SetEnvIf user-agent "(?i:feedfinder)" stayout=1 SetEnvIf user-agent "(?i:flicky)" stayout=1 SetEnvIf user-agent "(?i:grab)" stayout=1 SetEnvIf user-agent "(?i:harvest)" stayout=1 SetEnvIf user-agent "(?i:heritrix)" stayout=1 SetEnvIf user-agent "(?i:ia_archiver)" stayout=1 SetEnvIf user-agent "(?i:id-search)" stayout=1 SetEnvIf user-agent "(?i:id-search.org)" stayout=1 SetEnvIf user-agent "(?i:jakarta)" stayout=1 SetEnvIf user-agent "(?i:kmccrew)" stayout=1 SetEnvIf user-agent "(?i:larbin)" stayout=1 SetEnvIf user-agent "(?i:libwww)" stayout=1 SetEnvIf user-agent "(?i:libwww-perl)" stayout=1 SetEnvIf user-agent "(?i:linkwalker)" stayout=1 SetEnvIf user-agent "(?i:lwp-trivial)" stayout=1 SetEnvIf user-agent "(?i:meta-externalagent)" stayout=1 SetEnvIf user-agent "(?i:microsoft.url)" stayout=1 SetEnvIf user-agent "(?i:miner)" stayout=1 SetEnvIf user-agent "(?i:nutch)" stayout=1 SetEnvIf user-agent "(?i:omgili)" stayout=1 SetEnvIf user-agent "(?i:panscient.com)" stayout=1 SetEnvIf user-agent "(?i:pavuk)" stayout=1 SetEnvIf user-agent "(?i:pcBrowser)" stayout=1 SetEnvIf user-agent "(?i:planetwork)" stayout=1 SetEnvIf user-agent "(?i:psbot)" stayout=1 SetEnvIf user-agent "(?i:purebot)" stayout=1 SetEnvIf user-agent "(?i:pycurl)" stayout=1 SetEnvIf user-agent "(?i:sitecheck.internetseer.com)" stayout=1 SetEnvIf user-agent "(?i:skygrid)" stayout=1 SetEnvIf user-agent "(?i:sqlmap)" stayout=1 SetEnvIf user-agent "(?i:sucker)" stayout=1 SetEnvIf user-agent "(?i:tAkeOut)" stayout=1 SetEnvIf user-agent "(?i:turnit)" stayout=1 SetEnvIf user-agent "(?i:urllib)" stayout=1 SetEnvIf user-agent "(?i:vikspider)" stayout=1 SetEnvIf user-agent "(?i:webalta)" stayout=1 SetEnvIf user-agent "(?i:webbandit)" stayout=1 SetEnvIf user-agent "(?i:zermelo)" stayout=1 SetEnvIf user-agent "(?i:zmeu)" stayout=1 <IfModule !mod_authz_core.c> deny from env=stayout </IfModule> <IfModule mod_authz_core.c>   <RequireAll>     Require all granted     Require not env stayout   </RequireAll> </IfModule> ##### Common hacking tools and bandwidth hoggers block -- END </IfModule> ##### Automatic compression of resources -- BEGIN # Automatically serve .css.gz, .css.br, .js.gz or .js.br instead of the original file # These are versions of the files pre-compressed with GZip or Brotli, respectively <IfModule mod_headers.c>     # Serve Brotli compressed CSS files if they exist and the client accepts Brotli.     RewriteCond "%{HTTP:Accept-encoding}" "br"     RewriteCond "%{REQUEST_FILENAME}\.br" -s     RewriteRule "^(.*)\.css" "$1\.css\.br" [QSA]     # Serve Brotli compressed JS files if they exist and the client accepts Brotli.     RewriteCond "%{HTTP:Accept-encoding}" "br"     RewriteCond "%{REQUEST_FILENAME}\.br" -s     RewriteRule "^(.*)\.js" "$1\.js\.br" [QSA]          # Serve correct content types, and prevent double compression.     RewriteRule "\.css\.br$" "-" [T=text/css,E=no-gzip:1,E=no-brotli:1,L]     RewriteRule "\.js\.br$" "-" [T=text/javascript,E=no-gzip:1,E=no-brotli:1,L]          <FilesMatch "(\.js\.br|\.css\.br)$">       # Serve correct encoding type.       Header set Content-Encoding br       # Force proxies to cache gzipped & non-gzipped css/js files separately.       Header append Vary Accept-Encoding     </FilesMatch>     # Serve gzip compressed CSS files if they exist and the client accepts gzip.     RewriteCond "%{HTTP:Accept-encoding}" "gzip"     RewriteCond "%{REQUEST_FILENAME}\.gz" -s     RewriteRule "^(.*)\.css" "$1\.css\.gz" [QSA]     # Serve gzip compressed JS files if they exist and the client accepts gzip.     RewriteCond "%{HTTP:Accept-encoding}" "gzip"     RewriteCond "%{REQUEST_FILENAME}\.gz" -s     RewriteRule "^(.*)\.js" "$1\.js\.gz" [QSA]     # Serve correct content types, and prevent mod_filter double gzip.     # Also set it as the last rule to prevent the Front- or Backend protection from preventing access to the .gz file.     RewriteRule "\.css\.gz$" "-" [T=text/css,E=no-gzip:1,E=no-brotli:1,L]     RewriteRule "\.js\.gz$" "-" [T=text/javascript,E=no-gzip:1,E=no-brotli:1,L]     <FilesMatch "(\.js\.gz|\.css\.gz)$">       # Serve correct encoding type.       Header set Content-Encoding gzip       # Force proxies to cache gzipped & non-gzipped css/js files separately.       Header append Vary Accept-Encoding     </FilesMatch> </IfModule> ## Automatically compress by MIME type using mod_brotli. Takes priority due to better compression ratio. <IfModule mod_brotli.c>     AddOutputFilterByType BROTLI_COMPRESS text/plain text/xml text/css application/xml application/xhtml+xml application/rss+xml application/javascript application/x-javascript text/javascript image/svg+xml </IfModule> ## Automatically compress by MIME type using mod_filter. <IfModule mod_filter.c>     AddOutputFilterByType DEFLATE text/plain text/xml text/css application/xml application/xhtml+xml application/rss+xml application/javascript application/x-javascript text/javascript image/svg+xml </IfModule> ## Fallback to mod_gzip when neither mod_brotli nor mod_filter is available <IfModule !mod_brotli.c>     <IfModule !mod_filter.c>         <IfModule mod_gzip.c>             mod_gzip_on Yes             mod_gzip_dechunk Yes             mod_gzip_keep_workfiles No             mod_gzip_can_negotiate Yes             mod_gzip_add_header_count Yes             mod_gzip_send_vary Yes             mod_gzip_min_http 1000             mod_gzip_minimum_file_size 300             mod_gzip_maximum_file_size 512000             mod_gzip_maximum_inmem_size 60000             mod_gzip_handle_methods GET             mod_gzip_item_include file \.(html?|txt|css|js|php|pl|xml|rb|py|svg|scgz)$             mod_gzip_item_include mime ^text/javascript$             mod_gzip_item_include mime ^text/plain$             mod_gzip_item_include mime ^text/xml$             mod_gzip_item_include mime ^text/css$             mod_gzip_item_include mime ^application/xml$             mod_gzip_item_include mime ^application/xhtml+xml$             mod_gzip_item_include mime ^application/rss+xml$             mod_gzip_item_include mime ^application/javascript$             mod_gzip_item_include mime ^application/x-javascript$             mod_gzip_item_include mime ^image/svg+xml$             mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*             mod_gzip_item_include handler ^cgi-script$             mod_gzip_item_include handler ^server-status$             mod_gzip_item_include handler ^server-info$             mod_gzip_item_include handler ^application/x-httpd-php             mod_gzip_item_exclude mime ^image/.*         </ifmodule>     </IfModule> </IfModule> ##### Automatic compression of resources -- END ## Force GZip compression for mangled Accept-Encoding 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     </IfModule> </IfModule> ##### Redirect index.php to / -- BEGIN RewriteCond %{THE_REQUEST} !^POST RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/ RewriteRule ^index\.php$ / [R=301,L] ##### Redirect index.php to / -- END ##### Redirect non-www to www -- BEGIN RewriteCond %{HTTP_HOST} !^www\. [NC] RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L] ##### Redirect non-www to www -- END ##### Force HTTPS for certain pages -- BEGIN RewriteCond %{HTTPS} !=on RewriteCond %{HTTP:X-Forwarded-Proto} !=https RewriteRule ^en\/my\-profile\/stan\/fitbit$ https://www.yoursitechangehere.com/en/my-profile/stan/fitbit [R=301,L] RewriteCond %{HTTPS} !=on RewriteCond %{HTTP:X-Forwarded-Proto} !=https RewriteRule ^sv\/my\-profile\/stan\/fitbit$ https://www.yoursitechangehere.com/sv/my-profile/stan/fitbit [R=301,L] ##### Force HTTPS for certain pages -- END ##### Rewrite rules to block out some common exploits -- BEGIN RewriteCond %{QUERY_STRING} proc/self/environ [OR] RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR] RewriteCond %{QUERY_STRING} base64_(en|de)code\(.*\) [OR] RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3E) [NC,OR] RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR] RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2}) RewriteRule .* index.php [F] ##### Rewrite rules to block out some common exploits -- END ##### File injection protection -- BEGIN RewriteCond %{REQUEST_METHOD} GET RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=http[s]?:// [OR] RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=(\.\.//?)+ [OR] RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=/([a-z0-9_.]//?)+ [NC] RewriteRule .* - [F] ##### File injection protection -- END ##### Advanced server protection rules exceptions -- BEGIN RewriteRule ^administrator\/components\/com_akeeba\/restore\.php$ - [L] RewriteRule ^administrator\/components\/com_akeebabackup\/restore\.php$ - [L] RewriteRule ^administrator\/components\/com_joomlaupdate\/restore\.php$ - [L] RewriteRule ^administrator\/components\/com_joomlaupdate\/extract\.php$ - [L] RewriteRule ^components\/com_jbusinessdirectory\/libraries\/staticmaplite\/staticmap\.php$ - [L] RewriteRule ^components\/com_competition\/competition\.php$ - [L] RewriteRule ^templates\/shaper_helixultimate\/component\.php$ - [L] RewriteRule ^phpinfo\.php$ - [L] RewriteRule ^components\/com_easysocial\/easysocial\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !(\.php)$ RewriteCond %{REQUEST_FILENAME} -f RewriteRule ^\.well\-known/ - [L] RewriteCond %{REQUEST_FILENAME} !(\.php)$ RewriteCond %{REQUEST_FILENAME} -f RewriteRule ^modules\/mod_easytheme/ - [L] RewriteCond %{REQUEST_FILENAME} !(\.php)$ RewriteCond %{REQUEST_FILENAME} -f RewriteRule ^images/ - [L] RewriteRule ^installation/ - [L] RewriteRule ^administrator\/components\/com_sppagebuilder/ - [L] RewriteRule ^components\/com_sppagebuilder/ - [L] RewriteRule ^administrator\/components\/com_jchoptimize/ - [L] RewriteRule ^administrator\/index\.php\?option=com_jmap&task=config\.display/ - [L] RewriteRule ^administrator\/index\.php\?option=com_sppagebuilder&view=editor&tmpl=component/ - [L] ##### Advanced server protection rules exceptions -- END ##### Advanced server protection -- BEGIN #### Back-end protection RewriteRule ^administrator/?$ - [L] RewriteRule ^administrator/index\.(php|html?)$ - [L] RewriteRule ^administrator/(components|modules|templates)/.*\.(7z|CSS|EOT|GIF|JPEG|JPG|JS|PNG|TTF|WEBP|WOFF|WOFF2|avi|bmp|css|doc|docx|eot|flv|gif|htm|html|ico|jp2|jpe|jpe2|jpeg|jpg|js|mov|mp3|mp4|mpeg|mpg|odp|ods|odt|ogg|ogv|pdf|png|ppt|pptx|rar|svg|swf|ttf|txt|wav|webp|woff|woff2|xls|xlsx|xps|xsl|zip)$ - [L,NC] RewriteRule ^administrator/ - [F] #### Front-end protection ## Allow limited access to additional TinyMCE plugins' HTML files RewriteRule ^media/plg_editors_tinymce/js/plugins/.*\.(htm|html)$ - [L,NC] ## Allow limited access for certain directories with client-accessible content RewriteRule ^(components|modules|templates|images|plugins|media|libraries|wtduploads|files)/.*\.(7z|CSS|EOT|GIF|JPEG|JPG|JS|PNG|TTF|WEBP|WOFF|WOFF2|avi|bmp|css|doc|docx|eot|flv|gif|htm|html|ico|jp2|jpe|jpe2|jpeg|jpg|js|mov|mp3|mp4|mpeg|mpg|odp|ods|odt|ogg|ogv|pdf|png|ppt|pptx|rar|svg|swf|ttf|txt|wav|webp|woff|woff2|xls|xlsx|xps|xsl|zip)$ - [L,NC] RewriteRule ^(components|modules|templates|images|plugins|media|libraries|wtduploads|files)/ - [F] ## Disallow front-end access for certain Joomla! system directories (unless access to their files is allowed above) RewriteRule ^includes/js/ - [L] RewriteRule ^(cache|includes|language|logs|log|tmp)/ - [F] RewriteRule ^(configuration\.php|CONTRIBUTING\.md|htaccess\.txt|joomla\.xml|LICENSE\.txt|phpunit\.xml|README\.txt|web\.config\.txt) - [F] ## Explicitly allow access to the site's index.php main entry point file RewriteRule ^index.php(/.*){0,1}$ - [L] ## Explicitly allow access to the API application's index.php main entry point file RewriteRule ^api/index.php(/.*){0,1}$ - [L] ## Explicitly allow access to the site's robots.txt file RewriteRule ^robots.txt$ - [L] ## Disallow access to all other PHP files throughout the site, unless they are explicitly allowed RewriteCond %{REQUEST_FILENAME} (\.php)$ RewriteCond %{REQUEST_FILENAME} -f RewriteRule (.*\.php)$ - [F] ## Disallow access to htaccess.txt, php.ini, .user.ini and configuration.php-dist RewriteRule ^(htaccess\.txt|configuration\.php-dist|php\.ini|\.user\.ini)$ - [F] # Disallow access to all other front-end folders RewriteCond %{REQUEST_FILENAME} -d RewriteCond %{REQUEST_URI} !^/ RewriteRule .* - [F] # Disallow access to all other front-end files RewriteCond %{REQUEST_FILENAME} -f RewriteRule !^index.php$ - [F] ## Protect against clickjacking <IfModule mod_headers.c>     Header always set X-Frame-Options SAMEORIGIN     # The `X-Frame-Options` response header should be send only for     # HTML documents and not for the other resources.     <FilesMatch "\.(appcache|atom|bbaw|bmp|crx|css|cur|eot|f4[abpv]|flv|geojson|gif|htc|ico|jpe?g|js|json(ld)?|m4[av]|manifest|map|mp4|oex|og[agv]|opus|otf|pdf|png|rdf|rss|safariextz|svgz?|swf|topojson|tt[cf]|txt|vcard|vcf|vtt|webapp|web[mp]|woff2?|xloc|xml|xpi)$">         Header unset X-Frame-Options     </FilesMatch> </IfModule> ## Reduce MIME type security risks <IfModule mod_headers.c>     Header set X-Content-Type-Options "nosniff" </IfModule> ## Reflected XSS prevention <IfModule mod_headers.c> Header set X-XSS-Protection "1; mode=block" </IfModule> # mod_headers cannot match based on the content-type, however, # the X-XSS-Protection response header should be sent only for # HTML documents and not for the other resources. <IfModule mod_headers.c>     <FilesMatch "\.(appcache|atom|bbaw|bmp|crx|css|cur|eot|f4[abpv]|flv|geojson|gif|htc|ico|jpe?g|js|json(ld)?|m4[av]|manifest|map|mp4|oex|og[agv]|opus|otf|pdf|png|rdf|rss|safariextz|svgz?|swf|topojson|tt[cf]|txt|vcard|vcf|vtt|webapp|web[mp]|webmanifest|woff2?|xloc|xml|xpi)$">         Header unset X-XSS-Protection     </FilesMatch> </IfModule> ## Neutralize scripts in SVG files <FilesMatch "\.svg$">   <IfModule mod_headers.c>     Header always set Content-Security-Policy "script-src 'none'"   </IfModule> </FilesMatch> ## Remove Apache and PHP version signature <IfModule mod_headers.c>     Header always unset X-Powered-By     Header always unset X-Content-Powered-By </IfModule> ServerSignature Off ##### Advanced server protection -- END ## HSTS Header - See http://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security <IfModule mod_headers.c> SetEnvIfExpr "%{HTTPS}='on'" USE_HSTS_HEADER SetEnvIf X-Forwarded-Proto "https" USE_HSTS_HEADER Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" env=USE_HSTS_HEADER </IfModule> ## Disable HTTP methods TRACE and TRACK (protect against XST) RewriteCond %{REQUEST_METHOD} ^TRACE RewriteRule ^ - [R=405,L] ## Referrer-policy <IfModule mod_headers.c>     Header always set Referrer-Policy "strict-origin-when-cross-origin" </IfModule> ## Set the UTF-8 character set as the default #  Serve all resources labeled as `text/html` or `text/plain` #  with the media type `charset` parameter set to `UTF-8`. AddDefaultCharset utf-8 # Serve the following file types with the media type `charset` # parameter set to `UTF-8`. # # https://httpd.apache.org/docs/current/mod/mod_mime.html#addcharset <IfModule mod_mime.c>     AddCharset utf-8 .atom \                      .bbaw \                      .css \                      .geojson \                      .js \                      .json \                      .jsonld \                      .rdf \                      .rss \                      .topojson \                      .vtt \                      .webapp \                      .xloc \                      .xml </IfModule> ##### Joomla! core SEF Section -- BEGIN # -- SEF URLs for the API application RewriteCond %{REQUEST_URI} ^/api/ RewriteCond %{REQUEST_URI} !^/api/index\.php RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule .* api/index.php [L] # -- SEF URLs for the public frontend application ##### Joomla! core SEF Section -- BEGIN RewriteCond %{REQUEST_URI} !^/index\.php RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule .* index.php [L] ##### Joomla! core SEF Section -- END RewriteCond %{HTTP_USER_AGENT} SemrushBot [NC] RewriteRule .* - [F,L]
08 Aug 2025 18:37
Replied by rich on topic How do I approve a Post?
A general question: Do you want to moderate your users or guests? This means that you review posts before approving them.
If so, create a new Kunena menu item called Recent Posts and select Unapproved Posts as the view. When you click on this menu item, you will automatically be taken to the posts that have not yet been approved. Posts are approved in the frontend.
22 Jul 2025 21:09 - 22 Jul 2025 21:18
I have checked and that is the link that is assigned when the menu is generated automatically, and the same if I do it manually by selecting kunena forum --> Recent Messages. The same thing happens

Once registered the listing looks perfect, as a guest it shows nothing.



I have a complete auto-generated Kunena menu, which isn't assigned to a real menu. In my main menu, I use an alias system to link the options to the Kunena menu. My site has had Kunena for over 12 years, and we've been updating it. Maybe that's having an effect on something.
12 Jul 2025 09:54
Replied by ruud on topic Joomla 6 support?

Hello,

I have just found an issue in the plugins system of Kunena. $this->app is null now here github.com/Kunena/Kunena-Forum/blob/K6.4...nena/kunena.php#L122 , by commenting all the content of function of onAfterInitialise() it works by installing this plugin alone but updating it in the package of Kunena i still get a white page on install. I haven't tried both.The plugins should be refactored into subscriber plugins. $this app will not work anymore as that is something automatically set from the extended class.
When implementing the subscriber interface you can use $this->getApplication().

But note: when refeactoring the plugins, they will receive actual events, so the functions themselves als need to be refactored to use these methods.

And when doing Kunena own triggered events, then these should also implement real event classes (Kunena can have their own).

Let me refactor the system plugin for you next week. My last week before my holidays. Will be back half way august and can then spend some more time.

There is already a 6.5 branch? I did a PR against that for the captcha triggering?
 
06 Jul 2025 18:06
Hi,

I did not know that there was not automatic notification on the Kunena Updates in the Joomla backend and therefore I am still at 6.3.10 version.
Can I directly and manually upgrade to Kunena 6.4.3, or do I have to do an intermediate step, e.g. 6.4.0 (after having read all the comments about the DB issues).
I have MySQLi 8.0.26-16 installed. Is this o.k. for Kunena 6.4.3?

Thanks in advance for your support.

Chris
19 Jun 2025 15:24
no smileys only "?" was created by HKS1981
When I type a smiley in Kunena 6 using the keyboard, like :D, it is not automatically turned into a smiley. Instead, after saving, it just shows a question mark.Where can I change that?

Thank you! 
07 May 2025 15:12
The automatic update should normally always be displayed.
However, we have omitted it from K6.3 to K6.4, as many website operators still use PHP 7, but Kunena 6.4 requires at least PHP 8.1.
The current version is Kunena 6.4, and if this is installed, the automatic update will be displayed again.
07 May 2025 13:58
This happens from time to time, the kunena forum stops updating. This is the reason for my question. At the moment the version of the forum on my site is 6.3.10, is this the current version?

I'm running Joomla 5.3. I manually upgraded to Kunena 6.4.2 as auto update did not work.
Why kunena does not offer automatic updates? This is a permanent bug, is it possible to fix it?
30 Apr 2025 13:40

Oh, that's what you meant. You can use this button to perform moderator actions such as deleting, moving, etc., but the topic will not be marked as moderated.
Have you already written another post as a test and then deleted it to see if the error still occurs?

When I click on the moderation button, two options appear - actually moderate and delete. In the first case, I can move the post or topic to another location, and deleting makes the post gray, that is, invisible to non-administrators. The problem occurs when the "deleted" (gray) post is the only one in the topic, or when all posts in the topic or the entire topic is "deleted" (gray). In these cases, as an admin, I cannot see it, and I can not return it to the forum,  if I wish.
Or do you mean something else?

If you open a category in the backend -> Category settings -> Review posts set to Yes, then all posts must be approved by a moderator. However, this only makes sense for categories with topics that need to be checked for accuracy before publication.

It's even embarrassing to write about it, since I've been using Kunena since its introduction, but I don't understand it. 
Firstly, I don't want to moderate all messages in any of the topics. I am interested in the (pre-existing) possibility to temporarily delete posts. 
That is, the option "Beiträge kontrollieren does not interest me". (I do not translate German inscriptions into English, so my or the automatic translation may not match the correct one.)
Secondly, there is a tab for categories called "Moderations Einstellungen für diese Kategorie". But for every Category there is "Für diese Kategorie sind keine Moderatoren eingetragen." Maybe that's the reason, because even the admin doesn't have the necessary rights? But there are no ways to add a user to the list of "Zu dieser Categorie eingetragene Moderatoren:". I didn't find it.

According to the configuration report, Kunena 6.3.8 is installed. It is likely that the update will not be allowed because your database does not meet the minimum requirements ( see here ).


It's very strange. It so happens that I run two websites in parallel in different languages, which I maintain exactly the same structures for. Both sites are hosted on the same hosting. I have Kunena 6.3.10 installed on the parallel site. The difference regarding the Kunena version is that I installed 6.3.10 on the parallel site before upgrading Joomla to 5.3, and on the one where the update problem occurred, I updated Joomla before Kunena. (By the way, a similar problem is currently being discussed in one of the neighboring topics).

Thanks
 
23 Apr 2025 19:17
I'm sorry, that was my mistake. I hadn't remembered that this entry has only existed since Kunena 6.4.2.
Take this entry "privateMessage":"1" and note the capital letters! Delete everything after that. The end must then look like this: "privateMessage":"1"}
Then go to the configuration in the backend and refresh the page.
The missing entries UserBanned and UserUnBanned are automatically entered in the database as soon as you save something in the configuration.

Alternatively, you can also try this:
It is important that you follow the order exactly!
1. upgrade to Kunena 6.4.2 and go to the dashboard afterwards
2. then go to the Kunena configuration and stay there
3. remove the entire text content from the params column in the #__kunena_configuration table and save
4. save the configuration before reloading the configuration page (for this reason it is important to already be in the configuration)
5. check the configuration, all your custom settings should have remained
11 Apr 2025 01:24
Replied by rich on topic community builder and Kunena

I think you'll have to disable (or uninstall CB). When CB is installed, registrations go automatically to CB registration page and I see no possibility to change that.

@Pinkeltje Yes, you are right, I also did not find a way to use the Joomla registration.
@GunterPfeiffer Sorry, please forget my first post.
10 Apr 2025 16:42
I think you'll have to disable (or uninstall CB). When CB is installed, registrations go automatically to CB registration page and I see no possibility to change that. You can see the difference yourself by disabling CB via extension manager (search for community) and disable everything, Kunena plugin for CB is then disabled as well.
30 Mar 2025 21:47
It was the plugin Kunena-Gravatar integration that was enabled automatically after the update. If you disable it than EasySocial avatar working again.

  
30 Mar 2025 13:43 - 30 Mar 2025 13:48
Hello,
I try to update an old site for my brother-in-law from Joomla 2.5 with Kunena 4.0.7 to Joomla 5 and Kunena 6. The update was done as following:
  • create a new Joomla 3 installation
  • copy all Kunena-tables from old database to new database
  • install Kunena 5 and let Kunena do all neccessary updates
  • install an new Joomla 5
  • copy the Kunena-tables from Joomla 3/Kunena 5 to the Joomla 5 installation
  • install Kunena 6 and let Kunena do all neccessary updates
  • copy all files from old media-folder to the new media folder
This kind of update was only because there is no direct way from Joomla 2.5 to 5 with Kunena. I don't test the forum in Joomla 3 and updated this to Joomla 5 with Kunena 6 as described above.
In Joomla 5 with Kunena 6.4.1 I can see only default category-Icons like a folder-symbol.
Actually the site is for testing available on 212.227.102.116/plesk-site-preview/betab...dex.php/kunena/index
The old site (Joomla 2.5) is availble at www.betabikes.de/kunena/index

Where do I have to place the icons so that they are shown as in Joomla 2.5 with Kunena 4.0.7? In the old installation the images were in ../media/kunena/category_images as 64x64 pixel gif-files. That works well and the images were automatically scaled to fit for Kunena 4.0.7-category-layout in the fronend (see link above).
In Kunena 6.4.1 I tried to place images into ../media/kunena/core/svg. That may work, but I have to create about 64 new images with 32x32 pixels because the original files were gifs and sized 64x64 pixels.
In Kunena 4.0.7 are two icons per category: one for the state "there are new posts in the category" and one for state "no new posts". The icons are named with the number of the category and the state on/off. For examle for category 2 there are two icons: 2_on.gif and 2_off.gif.

so I have these questions:
  • is it possible to use the old 64x64 gifs as category-images?
    • What do I have to do, to use these images (which folder, which settings in Kunena-category)?
  • Are there two images needed for a category-state "new posts" and "only old posts"?
Many thanks,
Siegbert
Displaying 16 - 29 out of 29 results.
Time to create page: 0.582 seconds