" 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:----hOIux6/IfWQYfkqLq1OXzJ9WnD6FsxWpIVm0Yo3Lp5pMNh0A6O8d+kAi0V64H4GNFPULqM7WcbzoLemXUPf1dNeZUvXzJj4MNT4cMy9h5843YZpeiFupKgGSF2P2I3CGwOd2fk3dD5bFsc5ulJefc7Zi7dqBvGXyLQo80J30F5wcduyBS24fqe/oBF1BDBmrswemOXo/OU35oUp/mDQ1FBHRo+aqeG0iMpjaRcW+haPtjPl8tr9rH52Ahs8GLi+ygVTZ2y9A4NfpJr5Fp6KU34uanrRSB1pxkLw8kwMkYvzfot1ieqYYvMhwdoa0A1NUAK5MuspsqIgqcifQ5Yw0RcUQWuB9kGcc2is1C2zcnPF9WdH96JmW3+lDEhVftAdLbzKrZ5+iKrgH4X60swLw0W5RYw2hvrRabufmtSelHbCgC/1zNivPPcx4jDk8E6LAE07biSUOeLQ4E/eosEiPx9x/mg7K7B5xuBtaKaew3s0BJcD37+ApOvBHjeOdj+i/jPELQHKapQn7nmKa9Ln0Z2H/GKOfZGt37zVSZuJFoFbJbLV0SaG02kCggciHOffNvAp/ERPkCnja43sEj6GBEoOjUtNPI6q82pa3s2UYR7iC5u2MYvz1bNKqiVrQn/NDdRndgiQLh6azWojYRbmBBo+rkthJRL2vpXLRXyL01es=----ATTACHMENT:----NDU4MzA2OTQ3MDUzOTc4NiAyOTM1NDQwMjA5NDYwODcwIDMwODk1NzM2NTA2MjE2NzQ=