URL переписать не работает сервер Ubuntu

В настоящее время я работаю с PHP- скриптом, но он все еще содержит недружелюбную ссылку (cms.php?Cms=login).

Я хочу превратить это в дружескую ссылку

/cms/login

у меня есть .htaccess файл создан

RewriteEngine On
RewriteRule ^cms/([^/]*)$ /cms.php?cms=$1 [L]

Но когда в настоящее время перейти на страницу, я вижу это:

введите описание изображения здесь

мой /etc/apache2/sites-available/default файл:

<VirtualHost *:80>
        ServerAdmin webmaster@localhost

        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 None
                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
</VirtualHost>

Также сделал это:

sudo a2enmod rewrite

sudo service apache2 reload

rewrite.load файл:

LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so

Я смотрел на многих форумах, но я не могу найти его. Сервер Ubuntu работает на openvz (Ubuntu 12.10)

Где вина? что я должен делать?

1 ответ

Попробуй это:

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^cms\login$ cms.php?Cms=login [L]
</IfModule>

Вы должны заметить, что вы печатаете cms.php?Cms=login с "C" в верхнем регистре, это отличается от "C" в нижнем регистре.

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