Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 256708

Summary: dev-lang/php-5.2.8-r2 breaks .htaccess files
Product: Gentoo Linux Reporter: Michal Margula <alchemyx>
Component: [OLD] ServerAssignee: PHP Bugs <php-bugs>
Status: RESOLVED DUPLICATE    
Severity: major CC: gentoo-bugs
Priority: High    
Version: unspecified   
Hardware: x86   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Michal Margula 2009-01-28 22:38:19 UTC
New version of /etc/apache2/modules.d/70_mod_php5.conf brakes following htaccess:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} kontakt
RewriteRule ^(.*) kontakt.php
RewriteCond %{REQUEST_URI} pily-do-betonu-szczecin-przecinarki
RewriteRule ^(.*) pily-do-betonu-szczecin-przecinarki.php
RewriteCond %{REQUEST_URI} kosy-mechaniczne-szczecin
RewriteRule ^(.*) kosy-mechaniczne-szczecin.php
RewriteCond %{REQUEST_URI} kosy-spalinowe-szczecin
RewriteRule ^(.*) kosy-mechaniczne-szczecin.php
RewriteCond %{REQUEST_URI} pilarki-spalinowe-szczecin
RewriteRule ^(.*) pilarki-spalinowe-szczecin.php
RewriteCond %{REQUEST_URI} kosiarki$
RewriteRule ^(.*) kosiarki.php
RewriteCond %{REQUEST_URI} kosiarki-szczecin
RewriteRule ^(.*) kosiarki-szczecin.php
RewriteCond %{REQUEST_URI} nozyce-do-zywoplotow-szczecin
RewriteRule ^(.*) nozyce-do-zywoplotow-szczecin.php
RewriteCond %{REQUEST_URI} dmuchawy-odkurzacze-szczecin
RewriteRule ^(.*) dmuchawy-odkurzacze-szczecin.php
RewriteCond %{REQUEST_URI} myjki-cisnieniowe-szczecin
RewriteRule ^(.*) myjki-cisnieniowe-szczecin.php
RewriteCond %{REQUEST_URI} promocje
RewriteRule ^(.*) promocje.php
RewriteCond %{REQUEST_URI} kosiarki-samojezdne-szczecin
RewriteRule ^(.*) kosiarki-samojezdne-szczecin.php
RewriteCond %{REQUEST_URI} glebogryzarki-szczecin
RewriteRule ^(.*) glebogryzarki-szczecin.php
RewriteCond %{REQUEST_URI} serwis
RewriteRule ^(.*) serwis.php
RewriteCond %{REQUEST_URI} kosiarki-viking-seria-4
RewriteRule ^(.*) kosiarki-viking-seria-4.php
RewriteCond %{REQUEST_URI} kosiarki-viking-seria-5
RewriteRule ^(.*) kosiarki-viking-seria-5.php
RewriteCond %{REQUEST_URI} pily-spalinowe
RewriteRule ^(.*) pilarki-spalinowe-szczecin.php
RewriteCond %{REQUEST_URI} wertykulatory-szczecin
RewriteRule ^(.*) wertykulatory.php
RewriteCond %{REQUEST_URI} opryskiwacz-spalinowy
RewriteRule ^(.*) opryskiwacze.php
RewriteCond %{REQUEST_URI} deutsch
RewriteRule ^(.*) deutsch.php

Used on site http://stihl.szczecin.pl/ . It worked perfectly, but now when 70_mod_php.conf contains:

IfDefine PHP5>
        # Load the module first
        <IfModule !mod_php5.c>
                LoadModule php5_module    modules/libphp5.so
        </IfModule>

        # Set it to handle the files
        <FilesMatch "\.ph(p5?|tml)$">
                SetHandler application/x-httpd-php
        </FilesMatch>

        <FilesMatch "\.phps$">
                SetHandler application/x-httpd-php-source
        </FilesMatch>

        DirectoryIndex index.php index.phtml
</IfDefine>

If I revert to an old version:

<IfDefine PHP5>
        # Load the module first
        <IfModule !mod_php5.c>
                LoadModule php5_module    modules/libphp5.so
        </IfModule>

        # Set it to handle the files
        <IfModule mod_mime.c>
                AddType application/x-httpd-php .php
                AddType application/x-httpd-php .phtml
                AddType application/x-httpd-php .php3
                AddType application/x-httpd-php .php4
                AddType application/x-httpd-php .php5
                AddType application/x-httpd-php-source .phps
        </IfModule>

        DirectoryIndex index.php index.phtml
</IfDefine>

Then everything works fine. "Breaking" .htaccess means that when I try open http://szczecin.stihl.pl/napisz-do-nas it says that file is not found and error.log contains:

[Wed Jan 28 23:26:16 2009] [error] [client 80.245.186.2] Negotiation: discovered file(s) matching request: /home/users/stihl/www/napisz-do-nas (None could be negotiated).

There is a file named napisz-do-nas.php, but it shouldn't behave like that.

Reproducible: Always

Steps to Reproduce:
1. Upgrade to dev-php/php-5.2.8-r2
2. Try example .htaccess written in Description


Actual Results:  
Apache gives 404 File not found on a file http://szczecin.stihl.pl/napisz-do-nas and gives following error in error.log

[Wed Jan 28 23:26:16 2009] [error] [client 80.245.186.2] Negotiation: discovered file(s) matching request: /home/users/stihl/www/napisz-do-nas (None could be negotiated).


Expected Results:  
It should serve http://stihl.szczecin.pl/napisz-do-nas.php
Comment 1 Christian Hoffmann (RETIRED) gentoo-dev 2009-06-21 23:31:00 UTC
Same as bug 256941, marking as duplicate of it as it has a simpler reproduce case and a "workaround".

*** This bug has been marked as a duplicate of bug 256941 ***