首页 > 解决方案 > Wordpress 显示启用了 Apache mod_rewrite 的目录列表

问题描述

我有一个问题,当我访问 crmpicco.localhost 时,我的 Wordpress 站点只显示目录列表而不是应用程序。

这是/usr/local/etc/httpd/extra/httpd-ssl.conf

##
## SSL Virtual Host Context
##

<VirtualHost _default_:443>

#   General setup for the virtual host
DocumentRoot "/var/www/crmpicco/"
ServerName crmpicco.localhost:443
ServerAlias www.crmpicco.localhost
ServerAdmin crmpicco@crmpicco.com
ErrorLog "/private/var/log/apache2/error_log"
TransferLog "/private/var/log/apache2/access_log"
DirectoryIndex index.php

<Directory "/var/www/crmpicco">
    AllowOverride All
</Directory>

<Directory "/var/www/crmpicco/wordpress">
    AllowOverride All
</Directory>

Alias /app /var/www/crmpicco/symfony/web
Alias / /var/www/crmpicco/wordpress

#   SSL Engine Switch:
#   Enable/Disable SSL for this virtual host.
SSLEngine on
</VirtualHost>

我没有mod_rewrite启用,我认为这是问题所在,但我现在启用了它,它显示loaded_modulesphpinfo();

核心 mod_so http_core prefork mod_authn_file mod_authn_core mod_authz_host mod_authz_groupfile mod_authz_user mod_authz_core mod_access_compat mod_auth_basic mod_socache_shmcb mod_reqtimeout mod_filter mod_mime mod_log_config mod_env mod_headers mod_setenvif mod_version mod_ssl mod_unixd mod_status mod_autoindexs mod_rehostwrite

位于目录中的.htaccess文件/var/www/crmpicco/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>

我显然在某处有一些错误配置,但我不知道在哪里。

标签: phpwordpressapachemod-rewritevhosts

解决方案


我通过删除Aliason/并将/wordpress目录作为DocumentRoot.

相关线路是:

<VirtualHost _default_:443>

DocumentRoot "/var/www/crmpicco/wordpress"
ServerName crmpicco.localhost:443
ServerAlias www.crmpicco.localhost
ServerAdmin crmpicco@crmpicco.com
ErrorLog "/private/var/log/apache2/error_log"
TransferLog "/private/var/log/apache2/access_log"

<Directory "/var/www/crmpicco/wordpress/">
        Options +FollowSymLinks
        DirectoryIndex index.php
        Options -Indexes
        Require all granted
        AllowOverride all
</Directory>

Alias /app /var/www/crmpicco/symfony/web

...

</VirtualHost>

推荐阅读