Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2008-05-15 11:57:12

  Raph - Użytkownik

Raph
Użytkownik
Skąd: Gniezno
Zarejestrowany: 2006-08-20

Apache 2.2 php5 jako moduł CGI - problem z mod_rewrite

Sprawa wygląda tak, że zainstalowałem sobie php5 jako moduł CGI do Apache.  Do sekcji <IfModule mod_mime.c> w apache2.conf dodałem takie linijki:

Kod:

AddHandler php5-script .php5
Action php5-script /cgi-bin/php5

i jest git - pliki z rozszerzeniem "php5" działają jako php5. Tutaj problemu nie ma.

Chciałem sobie jednak ustawić php5 dla plików z rozszrzeniem "php" dla konkretnego katalogu, więc mój plik 000-default w sites-enabled wygląda tak:

Kod:

NameVirtualHost *:80
<VirtualHost *:80>
        ServerAdmin webmaster@localhost

        DocumentRoot /var/www/
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
                # This directive allows us to have apache2's default start page
                # in /apache2-default/, but still have / go to the right place
                RedirectMatch ^/$ /apache2-default/
        </Directory>
        <Directory /home/user/public_html/projekty/system/new_system>
                AddHandler php5-script .php
                Action php5-script /cgi-bin/php5

                RewriteEngine on
                AllowOverride all
        </Directory>
        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

        ErrorLog /var/log/apache2/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog /var/log/apache2/access.log combined
        ServerSignature On

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

</VirtualHost>

Katalog w którym ma śmigać php5 to: Directory /home/user/public_html/projekty/system/new_system. Wszystko ładnie pięknie - jeśli odpalę sobie plik z rozszrzeniem "php" to rzeczywiście działa na php5. Problem pojawił się gdy chciałem użyć mod_rewrite i przepisać linka "test.php" na "test.html". Wrzuciłem .htaccess do tego katalogu z taką zawartością:

Kod:

RewriteEngine on
RewriteRule ^test\.html$ /test.php [L]

Zadziałało - problem w tym, że pod linkiem "test.html" wyświetla się zawartość "phpinfo()" w wersji 4.x, a powinno w wersji 5.x. Nie mam pojęcia dlaczego. Może macie jakieś pomysły.


Rafał Grzegorek - moje miejsce w sieci

Offline

 

#2  2008-05-16 10:35:04

  kamikaze - Administrator

kamikaze
Administrator
Zarejestrowany: 2004-04-16

Re: Apache 2.2 php5 jako moduł CGI - problem z mod_rewrite

Może masz też php4 załadowane z modułu apache. Lepiej używać modułów niż cgi, no chyba że potrzebujesz obu wersji. Ale chyba i w takim wypadku można użyć dwóch różnych modułów i np pliki .php przetwarzacć w php4, a .php5 w php5.

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Możesz wyłączyć AdBlock — tu nie ma reklam ;-)