0

apache2 に問題があり、URL の書き換えが機能せず、その理由がわかりません...

私の phpinfo() には、次のものがあります。

Loaded Modules: mod_rewrite 

私の .htaccess:

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

私のApache設定:

<VirtualHost>
        ServerAdmin mail@gmail.com
        ServerName www.site.com
        ServerAlias site.com
        DocumentRoot /var/www/site.com/

        <Directory />
                Options FollowSymLinks
                AllowOverride All
        </Directory>
        <Directory /var/www/site.com/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride All
                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

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

</VirtualHost>

私の設定は正しいと思いますが、なぜ私の書き換えが機能しないのか本当にわかりません... アイデアはありますか?

本当にありがとうございます !

4

1 に答える 1

1

この特定のルールの場合:

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

Mod_negotiation があなたに代わって対処しようとします。それを機能させたいMultiviews off場合は、次のようにします。

Options -Multiviews

<Directory>htaccess ファイルの先頭に追加するか、コンテナーから削除します。

    <Directory /var/www/site.com/>
            Options Indexes FollowSymLinks
            AllowOverride All
            Order allow,deny
            allow from all
    </Directory>
于 2013-09-12T14:54:18.143 に答える