Apache mod_rewrite правила не работает с динамическим виртуальным хостом и php-fpm

Я создал динамический виртуальный хост с помощью этого конфигурационного файла:

UseCanonicalName Off
<VirtualHost *:80>
    ServerName %1.dev
    ServerAlias *.%1.dev

    ServerAdmin daniel@localhost
    VirtualDocumentRoot /home/daniel/public_html/%1

    LogLevel error rewrite:trace8 proxy:trace2

    ErrorLog /home/daniel/public_html/error.log
    CustomLog /home/daniel/public_html/access.log combined

    <Directory ~ "/home/daniel/public_html/.*">
        Options Indexes FollowSymlinks Multiviews
        AllowOverride All
        Require all granted
        DirectoryIndex index.php index.html
        RewriteEngine On

        <FilesMatch "\.php$">
            SetHandler "proxy:unix:/run/php/php7.0-fpm.sock|fcgi://localhost:9000"
        </FilesMatch>
    </Directory>
</VirtualHost>

Это хорошо работает со сценариями PHP, но я не могу заставить его работать с URL SEF, такими как используемые WordPress (например, http//mysite.dev/blog возвращаются 404).

Какие-либо идеи об этом?

1
задан 24 July 2017 в 09:46

2 ответа

Для создания той работы, необходимо включить, переписывают модуль в Apache.

Посмотрите это: https://www.digitalocean.com/community/tutorials/how-to-set-up-mod_rewrite-for-apache-on-ubuntu-14-04

После того, как у Вас будет модуль, Вам будет нужно что-то вроде этого (пример Wordpress):

# 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>
# END WordPress

Это должно быть помещено или в .htacccess файл или в vhost файл.

0
ответ дан 8 December 2019 в 04:37

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

Откройте терминал и запись: нано/etc/apache2/apache2.conf

Найдите эти строки и напишите точно этот код:

<Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

Измените AllowOverride ни один на AllowOverride Все.

0
ответ дан 8 December 2019 в 04:37

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

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