diff --git a/inc/roots-htaccess.php b/inc/roots-htaccess.php
index 9a24b62..3eda052 100644
--- a/inc/roots-htaccess.php
+++ b/inc/roots-htaccess.php
@@ -1,83 +1,85 @@
" . sprintf(__('Please make sure your .htaccess file is writeable ', 'roots'), admin_url('options-permalink.php')) . "
';"));
- };
-}
-
-add_action('admin_init', 'roots_htaccess_writable');
-
-$theme_name = next(explode('/themes/', get_stylesheet_directory()));
-
-// Rewrites DO NOT happen for child themes
-// rewrite /wp-content/themes/roots/css/ to /css/
-// rewrite /wp-content/themes/roots/js/ to /js/
-// rewrite /wp-content/themes/roots/img/ to /js/
-// rewrite /wp-content/plugins/ to /plugins/
-
-function roots_flush_rewrites() {
- global $wp_rewrite;
- $wp_rewrite->flush_rules();
-}
-
-function roots_add_rewrites($content) {
- $theme_name = next(explode('/themes/', get_stylesheet_directory()));
- global $wp_rewrite;
- $roots_new_non_wp_rules = array(
- 'css/(.*)' => 'wp-content/themes/'. $theme_name . '/css/$1',
- 'js/(.*)' => 'wp-content/themes/'. $theme_name . '/js/$1',
- 'img/(.*)' => 'wp-content/themes/'. $theme_name . '/img/$1',
- 'plugins/(.*)' => 'wp-content/plugins/$1'
- );
- $wp_rewrite->non_wp_rules += $roots_new_non_wp_rules;
-}
-
-add_action('admin_init', 'roots_flush_rewrites');
-
-function roots_clean_assets($content) {
- $theme_name = next(explode('/themes/', $content));
- $current_path = '/wp-content/themes/' . $theme_name;
- $new_path = '';
- $content = str_replace($current_path, $new_path, $content);
- return $content;
-}
-
-function roots_clean_plugins($content) {
- $current_path = '/wp-content/plugins';
- $new_path = '/plugins';
- $content = str_replace($current_path, $new_path, $content);
- return $content;
-}
-
-// only use clean urls if the theme isn't a child or an MU (Network) install
-if ((!defined('WP_ALLOW_MULTISITE') || (defined('WP_ALLOW_MULTISITE') && WP_ALLOW_MULTISITE !== true)) && !is_child_theme()) {
- add_action('generate_rewrite_rules', 'roots_add_rewrites');
- if (!is_admin()) {
- add_filter('plugins_url', 'roots_clean_plugins');
- add_filter('bloginfo', 'roots_clean_assets');
- add_filter('stylesheet_directory_uri', 'roots_clean_assets');
- add_filter('template_directory_uri', 'roots_clean_assets');
+if (stristr($_SERVER['SERVER_SOFTWARE'], 'apache') !== false) {
+ function roots_htaccess_writable() {
+ if (!is_writable(get_home_path() . '.htaccess')) {
+ add_action('admin_notices', create_function('', "echo '" . sprintf(__('Please make sure your .htaccess file is writeable ', 'roots'), admin_url('options-permalink.php')) . "
';"));
+ };
}
-}
-
-function roots_add_h5bp_htaccess($rules) {
- global $wp_filesystem;
-
- if (!defined('FS_METHOD')) define('FS_METHOD', 'direct');
- if (is_null($wp_filesystem)) WP_Filesystem(array(), ABSPATH);
- if (!defined('WP_CONTENT_DIR'))
- define('WP_CONTENT_DIR', ABSPATH . 'wp-content');
-
- $theme_name = next(explode('/themes/', get_template_directory()));
- $filename = WP_CONTENT_DIR . '/themes/' . $theme_name . '/inc/h5bp-htaccess';
-
- $rules .= $wp_filesystem->get_contents($filename);
+ add_action('admin_init', 'roots_htaccess_writable');
- return $rules;
+ $theme_name = next(explode('/themes/', get_stylesheet_directory()));
+
+ // Rewrites DO NOT happen for child themes
+ // rewrite /wp-content/themes/roots/css/ to /css/
+ // rewrite /wp-content/themes/roots/js/ to /js/
+ // rewrite /wp-content/themes/roots/img/ to /js/
+ // rewrite /wp-content/plugins/ to /plugins/
+
+ function roots_flush_rewrites() {
+ global $wp_rewrite;
+ $wp_rewrite->flush_rules();
+ }
+
+ function roots_add_rewrites($content) {
+ $theme_name = next(explode('/themes/', get_stylesheet_directory()));
+ global $wp_rewrite;
+ $roots_new_non_wp_rules = array(
+ 'css/(.*)' => 'wp-content/themes/'. $theme_name . '/css/$1',
+ 'js/(.*)' => 'wp-content/themes/'. $theme_name . '/js/$1',
+ 'img/(.*)' => 'wp-content/themes/'. $theme_name . '/img/$1',
+ 'plugins/(.*)' => 'wp-content/plugins/$1'
+ );
+ $wp_rewrite->non_wp_rules += $roots_new_non_wp_rules;
+ }
+
+ add_action('admin_init', 'roots_flush_rewrites');
+
+ function roots_clean_assets($content) {
+ $theme_name = next(explode('/themes/', $content));
+ $current_path = '/wp-content/themes/' . $theme_name;
+ $new_path = '';
+ $content = str_replace($current_path, $new_path, $content);
+ return $content;
+ }
+
+ function roots_clean_plugins($content) {
+ $current_path = '/wp-content/plugins';
+ $new_path = '/plugins';
+ $content = str_replace($current_path, $new_path, $content);
+ return $content;
+ }
+
+ // only use clean urls if the theme isn't a child or an MU (Network) install
+ if ((!defined('WP_ALLOW_MULTISITE') || (defined('WP_ALLOW_MULTISITE') && WP_ALLOW_MULTISITE !== true)) && !is_child_theme()) {
+ add_action('generate_rewrite_rules', 'roots_add_rewrites');
+ if (!is_admin()) {
+ add_filter('plugins_url', 'roots_clean_plugins');
+ add_filter('bloginfo', 'roots_clean_assets');
+ add_filter('stylesheet_directory_uri', 'roots_clean_assets');
+ add_filter('template_directory_uri', 'roots_clean_assets');
+ }
+ }
+
+ function roots_add_h5bp_htaccess($rules) {
+ global $wp_filesystem;
+
+ if (!defined('FS_METHOD')) define('FS_METHOD', 'direct');
+ if (is_null($wp_filesystem)) WP_Filesystem(array(), ABSPATH);
+
+ if (!defined('WP_CONTENT_DIR'))
+ define('WP_CONTENT_DIR', ABSPATH . 'wp-content');
+
+ $theme_name = next(explode('/themes/', get_template_directory()));
+ $filename = WP_CONTENT_DIR . '/themes/' . $theme_name . '/inc/h5bp-htaccess';
+
+ $rules .= $wp_filesystem->get_contents($filename);
+
+ return $rules;
+ }
+
+ add_action('mod_rewrite_rules', 'roots_add_h5bp_htaccess');
}
-add_action('mod_rewrite_rules', 'roots_add_h5bp_htaccess');
-
?>
\ No newline at end of file