Jump to content
Калькуляторы

Вопрос по mod_rewrite

Есть у нас веб-мастер, который делает сайты на WordPress.

У веб-мастера есть тестовый и рабочий хостинг, на тестовом разрешено все, на рабочем конфигурация веб-сервера более строгая, в частности там выключен AllowOverride (для безопасности и скорости).

На тестовом хостинге есть следующие файлы .htaccess:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

Кроме того, еще несколько в несколько разделов зачем-то загружена копия WordPress и там есть свои .htaccess:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /action/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /action/index.php [L]
</IfModule>

Я хочу все это убрать, перенеся правила в конфигурационный файл.

Делаю так:

<VirtualHost *:80>
    ...
    DocumentRoot ".../www"
    <Directory ".../www">
        AllowOverride None
        Options -Indexes
        #WordPress redirections
        <IfModule mod_rewrite.c>
            RewriteEngine On
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteCond %{REQUEST_FILENAME} !-d
            RewriteRule ^/?([-_0-9A-Za-z]+)/index\.php$ - [L]
            RewriteRule ^/?([-_0-9A-Za-z]+)/.*$ /$1/index.php [L]
            RewriteRule ^.*$ index.php [L]
        </IfModule>
    </Directory>

Но почему-то не работает.

Что я сделал неправильно?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this