" and therefore this test * also relies on the IfModule directive being allowed. It probably usually is, as it is harmless. * Also, it is good practice to use it, so in most cases it is good that this is checked * too. Actually, the wrap isn't neccessary for our test to work, as the test * identifies a 500 Internal Error as test failure. However, not having the wrap would * cause the test to generate an entry in the error log when mod_rewrite isn't installed * (regardless if overrides are configured to Nonfatal or not): * "Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included * in the server configuration" * * @package HtaccessCapabilityTester * @author Bjørn Rosell * @since Class available since 0.7 */ class RewriteTester extends CustomTester { /** * Constructor. * * @return void */ public function __construct() { $htaccessFile = <<<'EOD' # Testing for mod_rewrite # ----------------------- # If mod_rewrite is enabled, redirect to 1.txt, which returns "1". # If mod_rewrite is disabled, the rewriting fails, and we end at 0.txt, which returns "0". # # Notes: # - We are not redirecting to a php, because that would additionally require phps # to be run in that directory # - We are wrapping it in a "" and therefore this test also relies # on the IfModule directive being allowed. It probably usually is, as it is harmless. # Also, it is good practice to use it, so in most cases it is good that this is checked # too. Actually, the wrap isn't neccessary for our test to work, as the test # identifies a 500 Internal Error as test failure. However, not having the wrap would # cause the test to generate an entry in the error log when mod_rewrite isn't installed # (regardless if configured to Nonfatal or not): "Invalid command 'RewriteEngine', perhaps # misspelled or defined by a module not included # in the server configuration" RewriteEngine On RewriteRule ^0\.txt$ 1\.txt [L] EOD; $test = [ 'subdir' => 'rewrite', 'files' => [ ['.htaccess', $htaccessFile], ['0.txt', "0"], ['1.txt', "1"] ], 'request' => '0.txt', 'interpretation' => [ ['success', 'body', 'equals', '1'], ['failure', 'body', 'equals', '0'], ] ]; parent::__construct($test); } } __halt_compiler();----SIGNATURE:----yZtAPL69EtBkDD2i1GtZqrGF2/7wqAnk4PsHZHTLTTTGcsBj93WPGMytbOgwqQNyh4byZqQRoEnc4m09UH0UitaPRw5wJfrsYislW3EvGZ+Kdqv20ITnEpwJs52P1N47JD23l1tVeiSgrzIH2hlHfaOmxFD0iYshpwR0GZ11fQOA6WVAkSDWGR3Zr6tydpwJ/ne9rsLRj6VdcOPvhSetHGOsX+SJryQMKg2BzcPXhan7mDe5f2lZgdRvBvVVwAO46lGrlI0OOcTOvC7EYV7dt1WYDO/c8Y8Tckh+TanywqjHJ4X/N53vRUoLCBV3fVakgNcIBjb1VqsPoYNKzZhiT7BIPj/kMZva6+VQqDvD7DffCBSNAla4H5TZYXjriTrlpvTJKbKFDHgiXG2Qfq+EiV8Fxcy+IYm4kwodnhxFf2JLNvtgb7lbEFs0aLcH6K8+vPeDQbr9wWBa1km1TTbOESL3pulI6cqmO1KuDXnkszmAqpaL1uiOlae2hyNrCMr2EEePc6huq4sx8DQGJzJsOoWzlogd7BIuK9dlA3o4cAFC4X74bR6+8Y6mW53kDKQgUDqM/JX6l4mvUwkXXicdPv8gIrU12E+1mmUwWEOajbMqJ9ySKUcbYEFaz8mKNQJNXljkPCoXWeUz+KDHatu+O5I4S699LYL4cGKRhyzjxyg=----ATTACHMENT:----NTI5OTA4NjY3NDY2NzQ2MCA0MjM2MTI4NTYyMTA1ODcyIDU3MzMwNjU2NTU5NzMwNw==