配置虚拟主机以允许标准 wordpress mod_rewrite 用于永久链接时出现问题

配置虚拟主机以允许标准 wordpress mod_rewrite 用于永久链接时出现问题

我在让 wordpress 在我的目录 .htaccess 文件中生成的标准 mod_rewrite 正常工作时遇到了一些麻烦。我使用的服务器默认设置了虚拟主机,而我对配置它们不太熟悉。我已经到了头疼的地步,所以任何帮助我都感激不尽。

因此假设我的域名是:

http://域名.com

我有我的 wordpress

http://domain.com/wordpress

因此对于我的漂亮链接,domain.com/wordpress 中的 .htaccess 文件内容如下:

<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

我已经为此奋斗了一段时间,所以非常感谢您的帮助!

干杯!

答案1

您的 中缺少一行.htaccess

WordPress 提供的标准默认 .htaccess,我想你会发现你的问题消失了。

# 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

相关内容