@@ -887,23 +887,27 @@ function update($event_name,$data) {
887887 $ rewrite_rules [] = array ( 'rewrite_domain ' => '^ ' .$ this ->_rewrite_quote ($ data ['new ' ]['domain ' ]),
888888 'rewrite_type ' => ($ data ['new ' ]['redirect_type ' ] == 'no ' )?'' :'[ ' .$ data ['new ' ]['redirect_type ' ].'] ' ,
889889 'rewrite_target ' => $ rewrite_target ,
890- 'rewrite_target_ssl ' => $ rewrite_target_ssl );
890+ 'rewrite_target_ssl ' => $ rewrite_target_ssl ,
891+ 'rewrite_is_url ' => ($ this ->_is_url ($ rewrite_target ) ? 'y ' : 'n ' ));
891892 $ rewrite_rules [] = array ( 'rewrite_domain ' => '^ ' . $ this ->_rewrite_quote ('www. ' .$ data ['new ' ]['domain ' ]),
892893 'rewrite_type ' => ($ data ['new ' ]['redirect_type ' ] == 'no ' )?'' :'[ ' .$ data ['new ' ]['redirect_type ' ].'] ' ,
893894 'rewrite_target ' => $ rewrite_target ,
894- 'rewrite_target_ssl ' => $ rewrite_target_ssl );
895+ 'rewrite_target_ssl ' => $ rewrite_target_ssl ,
896+ 'rewrite_is_url ' => ($ this ->_is_url ($ rewrite_target ) ? 'y ' : 'n ' ));
895897 break ;
896898 case '* ' :
897899 $ rewrite_rules [] = array ( 'rewrite_domain ' => '(^|\.) ' .$ this ->_rewrite_quote ($ data ['new ' ]['domain ' ]),
898900 'rewrite_type ' => ($ data ['new ' ]['redirect_type ' ] == 'no ' )?'' :'[ ' .$ data ['new ' ]['redirect_type ' ].'] ' ,
899901 'rewrite_target ' => $ rewrite_target ,
900- 'rewrite_target_ssl ' => $ rewrite_target_ssl );
902+ 'rewrite_target_ssl ' => $ rewrite_target_ssl ,
903+ 'rewrite_is_url ' => ($ this ->_is_url ($ rewrite_target ) ? 'y ' : 'n ' ));
901904 break ;
902905 default :
903906 $ rewrite_rules [] = array ( 'rewrite_domain ' => '^ ' .$ this ->_rewrite_quote ($ data ['new ' ]['domain ' ]),
904907 'rewrite_type ' => ($ data ['new ' ]['redirect_type ' ] == 'no ' )?'' :'[ ' .$ data ['new ' ]['redirect_type ' ].'] ' ,
905908 'rewrite_target ' => $ rewrite_target ,
906- 'rewrite_target_ssl ' => $ rewrite_target_ssl );
909+ 'rewrite_target_ssl ' => $ rewrite_target_ssl ,
910+ 'rewrite_is_url ' => ($ this ->_is_url ($ rewrite_target ) ? 'y ' : 'n ' ));
907911 }
908912 }
909913
@@ -968,25 +972,29 @@ function update($event_name,$data) {
968972 $ rewrite_rules [] = array ( 'rewrite_domain ' => '^ ' .$ this ->_rewrite_quote ($ alias ['domain ' ]),
969973 'rewrite_type ' => ($ alias ['redirect_type ' ] == 'no ' )?'' :'[ ' .$ alias ['redirect_type ' ].'] ' ,
970974 'rewrite_target ' => $ rewrite_target ,
971- 'rewrite_target_ssl ' => $ rewrite_target_ssl );
975+ 'rewrite_target_ssl ' => $ rewrite_target_ssl ,
976+ 'rewrite_is_url ' => ($ this ->_is_url ($ rewrite_target ) ? 'y ' : 'n ' ));
972977 $ rewrite_rules [] = array ( 'rewrite_domain ' => '^ ' . $ this ->_rewrite_quote ('www. ' .$ alias ['domain ' ]),
973978 'rewrite_type ' => ($ alias ['redirect_type ' ] == 'no ' )?'' :'[ ' .$ alias ['redirect_type ' ].'] ' ,
974979 'rewrite_target ' => $ rewrite_target ,
975- 'rewrite_target_ssl ' => $ rewrite_target_ssl );
980+ 'rewrite_target_ssl ' => $ rewrite_target_ssl ,
981+ 'rewrite_is_url ' => ($ this ->_is_url ($ rewrite_target ) ? 'y ' : 'n ' ));
976982 break ;
977983 case '* ' :
978984 $ rewrite_rules [] = array ( 'rewrite_domain ' => '(^|\.) ' .$ this ->_rewrite_quote ($ alias ['domain ' ]),
979985 'rewrite_type ' => ($ alias ['redirect_type ' ] == 'no ' )?'' :'[ ' .$ alias ['redirect_type ' ].'] ' ,
980986 'rewrite_target ' => $ rewrite_target ,
981- 'rewrite_target_ssl ' => $ rewrite_target_ssl );
987+ 'rewrite_target_ssl ' => $ rewrite_target_ssl ,
988+ 'rewrite_is_url ' => ($ this ->_is_url ($ rewrite_target ) ? 'y ' : 'n ' ));
982989 break ;
983990 default :
984991 if (substr ($ alias ['domain ' ], 0 , 2 ) === '*. ' ) $ domain_rule = '(^|\.) ' .$ this ->_rewrite_quote (substr ($ alias ['domain ' ], 2 ));
985992 else $ domain_rule = '^ ' .$ this ->_rewrite_quote ($ alias ['domain ' ]);
986993 $ rewrite_rules [] = array ( 'rewrite_domain ' => $ domain_rule ,
987994 'rewrite_type ' => ($ alias ['redirect_type ' ] == 'no ' )?'' :'[ ' .$ alias ['redirect_type ' ].'] ' ,
988995 'rewrite_target ' => $ rewrite_target ,
989- 'rewrite_target_ssl ' => $ rewrite_target_ssl );
996+ 'rewrite_target_ssl ' => $ rewrite_target_ssl ,
997+ 'rewrite_is_url ' => ($ this ->_is_url ($ rewrite_target ) ? 'y ' : 'n ' ));
990998 }
991999 }
9921000 }
@@ -2567,6 +2575,10 @@ private function _rewrite_quote($string) {
25672575 return str_replace (array ('. ' , '* ' , '? ' , '+ ' ), array ('\\. ' , '\\* ' , '\\? ' , '\\+ ' ), $ string );
25682576 }
25692577
2578+ private function _is_url ($ string ) {
2579+ return preg_match ('/^(f|ht)tp(s)?:\/\//i ' , $ string );
2580+ }
2581+
25702582} // end class
25712583
25722584?>
0 commit comments