VirtualHost 将 url 设置为 abc.com/subdirectory/

VirtualHost sets the url as abc.com/subdirectory/

<VirtualHost *:80>
            ServerAdmin xxx@abc.com
            ServerName abc.com
            ServerAlias www.abc.com
            DocumentRoot /var/www/html/wordpress/
            <Directory /var/www/html/wordpress/>
            Options All
            AllowOverride All
            order allow,deny
            allow from all
            </Directory>
            ErrorLog /var/logs/error_wp.log
            CustomLog /var/logs/access_wp.log combined 
</VirtualHost>

我在使用 Wordpress url 时遇到问题,然后我将 url 更改为 abc.com,现在 Wordpress 可以正确呈现所有页面。

但是当涉及到主页时,abc.com,它重定向到 abc。com/wordpress/

因此,每当我在浏览器中键入 abc.com 时,它都会重定向到 abc。com/wordpress/

它说 "Oops! That page can’t be found."

想知道问题出在哪里。

我正在为 Wordpress 使用默认的 .htaccess。我使用静态主页。除主页外,所有其他页面均正常工作。我可以使用 abc.com/wp-admin/

登录

提前致谢。

您的目录块应该列出相对于根目录的路径,而不是绝对路径。看看这是否解决了问题:

            <Directory />
            Options All
            AllowOverride All
            order allow,deny
            allow from all
            </Directory>

此外,您不应在文档根目录中包含尾部斜杠。

DocumentRoot /var/www/html/wordpress

这是更正后的整个配置文件:

<VirtualHost *:80>
            ServerAdmin xxx@abc.com
            ServerName abc.com
            ServerAlias www.abc.com
            DocumentRoot /var/www/html/wordpress
            <Directory />
            Options All
            AllowOverride All
            order allow,deny
            allow from all
            </Directory>
            ErrorLog /var/logs/error_wp.log
            CustomLog /var/logs/access_wp.log combined 
</VirtualHost>

这个问题很愚蠢。我设置了一个静态页面作为主页,它在数据库中有一个条目 abc.com/wordpress/。所以每次我点击主页,它都会搜索abc.com/wordpress/wordpress,实际上并不存在。