public static function sanitizeUrlParts($urlPartOrUrlParts, ...$additionalUrlParts)
    {
        if (is_array($urlPartOrUrlParts)) {
            $urlParts = $urlPartOrUrlParts;
        } else {
            $urlParts = array_merge([$urlPartOrUrlParts], $additionalUrlParts);
        }

        $sanitizedUrlParts = [];
        foreach ($urlParts as $urlPart) {
            $urlPart = self::sanitizeString($urlPart);

            // Replace accented characters for their regular counterparts
            $urlPart = str_replace(array_keys(self::ACCENTED_CHARACTERS), array_values(self::ACCENTED_CHARACTERS), $urlPart);

            // Collapse spaces, dashes and underscores into single dashes
            $urlPart = preg_replace("/[\s-_]+/", "-", $urlPart);

            $urlPart = strtolower($urlPart);

            // Remove any leftover invalid characters
            $urlPart = preg_replace("/[^a-z0-9\\-\\.]/", "", $urlPart);

            // Trim possibly existing dashes at start and end of string
            $urlPart = trim($urlPart, "-");

            $sanitizedUrlParts[] = $urlPart;
        }

        return implode("/", $sanitizedUrlParts);
    }