Wordpress 别名问题

Wordpress 别名问题

我有这样的配置:

    Alias /blog /usr/share/wordpress
    Alias /blog/wp-content /var/lib/wordpress/wp-content
    <Directory /usr/share/wordpress>
        Options FollowSymLinks
        AllowOverride Limit Options FileInfo
        DirectoryIndex index.php
        Order allow,deny
        Allow from all
    </Directory>
    <Directory /var/lib/wordpress/wp-content>
        Options FollowSymLinks
        Order allow,deny
        Allow from all
    </Directory>

一般情况下我会遵循这个程序帮助中心。问题是,当我重新启动时,apache2我收到消息

"The Alias directive in /etc/apache2/sites-enabled/wordpress at line 2 will probably never match because it overlaps an earlier Alias."

我已在test.php上添加了文件/var/lib/wordpress/wp-content。如果我尝试mydomain.com/blog/wp-content/test.php,我会得到error 404。这意味着一般来说,我会错过所有插件/主题静态文件。

有什么办法可以解决这个问题?

答案1

交换这些 Alias 指令的顺序,以便最具体的指令首先出现:

Alias /blog/wp-content /var/lib/wordpress/wp-content
Alias /blog /usr/share/wordpress

来自文档

[...] 别名和重定向按照它们在配置文件中出现的顺序进行处理,第一个匹配的优先。

因此,当两个或多个指令应用于同一子路径时,必须首先列出最具体的路径,以便所有指令都能生效。例如,以下配置将按预期工作:

Alias /foo/bar /baz
Alias /foo /gaq

但是如果按顺序反转上述两个指令,/foo 别名将始终在 /foo/bar 别名之前匹配,因此后一个指令将被忽略。

答案2

添加

ServerName mydomain.com

ServerAlias www.mydomain.com

在conf文件的顶部

相关内容