diff --git wp-admin/includes/misc.php wp-admin/includes/misc.php
index 21baace..3a4333f 100644
--- wp-admin/includes/misc.php
+++ wp-admin/includes/misc.php
@@ -39,11 +39,12 @@ function got_mod_rewrite() {
  * @since 3.7.0
  *
  * @global bool $is_nginx
+ * @global bool $is_caddy
  *
  * @return bool Whether the server supports URL rewriting.
  */
 function got_url_rewrite() {
-	$got_url_rewrite = ( got_mod_rewrite() || $GLOBALS['is_nginx'] || iis7_supports_permalinks() );
+	$got_url_rewrite = ( got_mod_rewrite() || $GLOBALS['is_nginx'] || $GLOBALS['is_caddy'] || iis7_supports_permalinks() );
 
 	/**
 	 * Filters whether URL rewriting is available.
diff --git wp-admin/options-permalink.php wp-admin/options-permalink.php
index c7193f9..2fb1bd6 100644
--- wp-admin/options-permalink.php
+++ wp-admin/options-permalink.php
@@ -75,7 +75,7 @@ if ( $iis7_permalinks ) {
 		$writable = true;
 	else
 		$writable = false;
-} elseif ( $is_nginx ) {
+} elseif ( $is_nginx || $is_caddy ) {
 	$writable = false;
 } else {
 	if ( ( ! file_exists( $home_path . '.htaccess' ) && is_writable( $home_path ) ) || is_writable( $home_path . '.htaccess' ) ) {
@@ -134,7 +134,7 @@ if ( isset($_POST['permalink_structure']) || isset($_POST['category_base']) ) {
 		} elseif ( $permalink_structure && ! $using_index_permalinks && $writable ) {
 			$message = __( 'Permalink structure updated. Remove write access on web.config file now!' );
 		}
-	} elseif ( ! $is_nginx && $permalink_structure && ! $using_index_permalinks && ! $writable && $update_required ) {
+	} elseif ( ! $is_nginx  && ! $is_caddy && $permalink_structure && ! $using_index_permalinks && ! $writable && $update_required ) {
 		$message = __( 'You should update your .htaccess now.' );
 	}
 
diff --git wp-includes/vars.php wp-includes/vars.php
index 89b3532..fa402a0 100644
--- wp-includes/vars.php
+++ wp-includes/vars.php
@@ -17,7 +17,7 @@
 
 global $pagenow,
 	$is_lynx, $is_gecko, $is_winIE, $is_macIE, $is_opera, $is_NS4, $is_safari, $is_chrome, $is_iphone, $is_IE, $is_edge,
-	$is_apache, $is_IIS, $is_iis7, $is_nginx;
+	$is_apache, $is_IIS, $is_iis7, $is_nginx, $is_caddy;
 
 // On which page are we ?
 if ( is_admin() ) {
@@ -106,6 +106,12 @@ $is_apache = (strpos($_SERVER['SERVER_SOFTWARE'], 'Apache') !== false || strpos(
 $is_nginx = (strpos($_SERVER['SERVER_SOFTWARE'], 'nginx') !== false);
 
 /**
+ * Whether the server software is Caddy or something else
+ * @global bool $is_caddy
+ */
+$is_caddy = (strpos($_SERVER['SERVER_SOFTWARE'], 'Caddy') !== false);
+
+/**
  * Whether the server software is IIS or something else
  * @global bool $is_IIS
  */
