#35096 [Com]: still trouble with mod_rewrite/apache2

From: Date: Sun, 06 Nov 2005 21:41:38 +0000
Subject: #35096 [Com]: still trouble with mod_rewrite/apache2
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-87702@lists.php.net to get a copy of this message
ID: 35096 Comment by: free4cd at yahoo dot de Reported By: rob at burningsoda dot com Status: Feedback Bug Type: Apache2 related Operating System: * PHP Version: 5CVS, 4CVS (2005-11-04) (snap) New Comment: Same Problem with PHP 4.4.1 and 5.1 snapshots. If rewrite is enabled you get a blank page. No error in log file or else. Problem with Joomla and vBulletin/vBSEO if rewrite engine is turned on. If rewrite is disabled all works fine. My .htaccess for Joomla: RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*) index.php Previous Comments: ------------------------------------------------------------------------ [2005-11-06 19:47:49] remko at elvandar dot org I had similiar problems with apache2+mod_rewrite and php 4.4.1. All sites that made use of mod_rewrite broke and gave a white page (nothing in the error log though), all other sites that use php but not mod_rewrite were working perfectly. my .htaccess: RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*) index.php ------------------------------------------------------------------------ [2005-11-06 16:29:08] brian dot white at foxfire74 dot com I have a WordPress powerered blog and get it for ANY rewrite rule. Here is a stripped down version of my .htaccess: ----------------------------------------------- # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase /blog/ RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^.*$ - [S=75] RewriteRule ^search/(.+)/?$ /blog/index.php?s=$1 [QSA,L] RewriteRule ^category/(.+)/?$ /blog/index.php?category_name=$1 [QSA,L] RewriteRule ^author/([^/]+)/?$ /blog/index.php?author_name=$1 [QSA,L] RewriteRule ^([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/?$ /blog/index.php?year=$1&monthnum=$2&day=$3 [QSA,L] RewriteRule ^([0-9]{4})/([0-9]{1,2})/?$ /blog/index.php?year=$1&monthnum=$2 [QSA,L] RewriteRule ^([0-9]{4})/?$ /blog/index.php?year=$1 [QSA,L] RewriteRule ^([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([^/]+)(/[0-9]+)?/?$ /blog/index.php?year=$1&monthnum=$2&day=$3&name=$4&page=$5 [QSA,L] </IfModule> # END WordPress Here what was requested in the browser: -------------------------------------- http://.../blog/2005/10/31/happy-halloween/ Here is what shows up in the logs: --------------------------------- [Mon Oct 31 23:25:42 2005] [error] PHP Warning: main(./wp-blog-header.php): failed to open stream: No such file or directory in C:\\...\\wordpress\\index.php on line 4 [Mon Oct 31 23:25:42 2005] [error] PHP Fatal error: main(): Failed opening required './wp-blog-header.php' (include_path='.;c:\\php4\\pear') in C:\\...\\wordpress\\index.php on line 4 Result: ------ The browser displays a blank page since PHP blows up. Using: ----- PHP 4.4.1 Windows XP SP2 Apache/2.0.55 (Win32) PHP/4.4.1 php4apache2.dll ------------------------------------------------------------------------ [2005-11-06 15:52:48] sniper@php.net Exactly how can we reproduce this? It works just fine for me when I have this .htaccess file: RewriteEngine on RewriteRule ^(.+)/$ index.php?myarg=$1 [L] So what else do we need? ------------------------------------------------------------------------ [2005-11-06 04:01:51] rob at burningsoda dot com doh! PHP 5.1.0RC5-dev (cli) (built: Nov 6 2005 03:52:41) I just tried a php5-snapshot. Same problem here. :( ------------------------------------------------------------------------ [2005-11-05 09:45:15] tmelzer at tomesoft dot de Further analyzes have shown me that the fix in 4.4.x-dev was in sapi/apache2handler/sapi_apache2.c in function php_handler to guard against the member 'handler' on struct request_rec of beeing NULL and then accessing it. This was fixed in only one case where around line 518 'if (parent_req && parent_req->handler && ...'. After I added an r->handler && strcmp ... to the other places where the structure member is used the crash went away but I got a 404 - file not found error. I think this is related to the fact that I'm not sure what to do if several of this if () statements are evalute false i.e. what to place in the else block. ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/35096 -- Edit this bug report at http://bugs.php.net/?id=35096&edit=1

« previous php.bugs (#87702) next »