Support » Plugin: iThemes Security (formerly Better WP Security) » Admin panel 404ing JS files on Windows

  • Hi

    there seems to be few 404s in the admin panel caused by incorrect path handling on Windows (trailing slash of $itsec_globals[‘plugin_dir’], to be specific).

    The faulty method is get_module_path in class-itsec-lib.php.

    To illustrate the problem, why str_replace fails:

    $itsec_globals['plugin_dir'] === "F:\_server\project\dev\wp-content\plugins\better-wp-security/"
    dirname( $file ) === "F:\_server\project\dev\wp-content\plugins\better-wp-security\core"

    Proposed solution (or something potentially cleaner):

    public static function get_module_path( $file ) {
    	global $itsec_globals;
    	$path = str_replace(
    		realpath( $itsec_globals['plugin_dir'] ),
    		realpath( dirname( $file ) )
    	$path = ltrim( str_replace( '\\', '/', $path ), '/' );
    	return trailingslashit( $itsec_globals['plugin_url'] . $path );

  • The topic ‘Admin panel 404ing JS files on Windows’ is closed to new replies.