Назад | Перейти на главную страницу

Проблема с настройкой виртуального хоста, чтобы разрешить стандартный wordpress mod_rewrite для постоянных ссылок

У меня небольшие проблемы с правильной работой стандартного mod_rewrite, который wordpress генерирует в моем файле directoryys .htaccess. На сервере, который я использую, по умолчанию настроен виртуальный хост, и я немного неопытен в их настройке. Я дошел до того, что моя голова болит от удара о стену, поэтому любая помощь приветствуется.

так что гипотетически мы можем сказать, что мой домен:

http://domain.com

и у меня есть мой Wordpress в

http://domain.com/wordpress

поэтому для моих красивых ссылок файл .htaccess, который находится в domain.com/wordpress, читает:

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

и мой файл конфигурации виртуального хоста, расположенный в etc / apache2 / sites-available / domain.com.conf:

<VirtualHost *:80>
  ServerName app01
  ServerAlias domain.com www.domain.com 
  DocumentRoot /var/www/vhosts/application/

  <Directory /var/www/vhosts/application>
    Options FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
  </Directory> 

  <Directory />
    Options FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
  </Directory>

  <Location /server-status>
    SetHandler server-status

    Order Deny,Allow
    Deny from all
    Allow from 127.0.0.1
  </Location>

  LogLevel info
  ErrorLog /var/log/apache2/domain.com-error.log
  CustomLog /var/log/apache2/domain.com-access.log combined

  RewriteEngine On
  RewriteLog /var/log/apache2/domain.com-rewrite.log
  RewriteLogLevel 0
</VirtualHost>

Итак, когда это работает,

страница, сохраненная как тестовая, будет доступна по адресу:

http://domain.com/wordpress/testpage

Некоторое время я боролся с этим, поэтому любая помощь приветствуется!

Ура!

Вам не хватает строчки в своем .htaccess.

Начнем с стандартный .htaccess по умолчанию, предоставляемый WordPress, и я думаю, вы решите, что ваши проблемы исчезнут.

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