mod_rewrite не работает

По какой-то причине я не могу заставить работать mod_rewrite. Я включил его, и он виден в phpinfo (), и у меня включены соответствующие разрешения. В чем дело?

000 по умолчанию:

<VirtualHost *:80>

    ServerAdmin ****@gmail.com

    ServerName ****.com

    DocumentRoot /var/www

    <Directory />
        Options FollowSymLinks
        AllowOverride All
    </Directory>

    <Directory /var/www/>
        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 ${APACHE_LOG_DIR}/error.log

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

    CustomLog ${APACHE_LOG_DIR}/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>

Вот мое правило перезаписи для проверки ...

RewriteEngine on
RewriteRule ^index.php?act=(.*)&p=(.*)$ site/$1/$2.html

Может ли кто-нибудь заметить что-то необычное?

1
задан 12 July 2012 в 03:22

1 ответ

Одной вещью, которую вы не упомянули, был модуль в /etc/apache2/mods-available/rewrite.load, который включает механизм перезаписи. Если вы этого не сделали, вам нужно добавить ссылку в каталог /etc/apache2/mods-enabled; из каталога /etc/apache2/mods-enabled введите ln -s ../mods-available/rewrite.load, чтобы создать символическую ссылку на него.

Вы также можете использовать 'sudo a2enmod rewrite'

0
ответ дан 12 July 2012 в 03:22

Другие вопросы по тегам:

Похожие вопросы: