| 1 | <?php |
|---|
| 2 | /* |
|---|
| 3 | * Plugin Name: IdeaWebServer / LiteSpeed workaround |
|---|
| 4 | * Plugin URI: http://core.trac.wordpress.org/ticket/9763 |
|---|
| 5 | * Description: Workaround for using WordPress on IdeaWebServer / LiteSpeed. |
|---|
| 6 | * Author: Adam Harley |
|---|
| 7 | * Author URI: http://adamharley.co.uk |
|---|
| 8 | * Version: 0.1 |
|---|
| 9 | */ |
|---|
| 10 | |
|---|
| 11 | |
|---|
| 12 | function is_apache_iws() { |
|---|
| 13 | global $is_apache, $is_apache_workaround; |
|---|
| 14 | |
|---|
| 15 | if ( strpos($_SERVER['SERVER_SOFTWARE'], 'LiteSpeed') !== false || strpos($_SERVER['SERVER_SOFTWARE'], 'IdeaWebServer') !== false ) { |
|---|
| 16 | $is_apache = true; |
|---|
| 17 | $is_apache_workaround = true; |
|---|
| 18 | } else { |
|---|
| 19 | $is_apache_workaround = false; |
|---|
| 20 | } |
|---|
| 21 | } |
|---|
| 22 | |
|---|
| 23 | add_action( 'init', 'is_apache_iws', 1 ); |
|---|
| 24 | |
|---|
| 25 | |
|---|
| 26 | function wp_redirect_iws( $location ) { |
|---|
| 27 | global $is_apache_workaround; |
|---|
| 28 | |
|---|
| 29 | if ( $is_apache_workaround && '/' == $location[0] ) |
|---|
| 30 | $location = get_bloginfo('url') . $location; |
|---|
| 31 | |
|---|
| 32 | return $location; |
|---|
| 33 | } |
|---|
| 34 | |
|---|
| 35 | add_filter( 'wp_redirect', 'wp_redirect_iws', 1 ); |
|---|