web-dev-qa-db-fra.com

Wordpress problème d'alias

J'ai une configuration comme celle-ci:

    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>

En général, je poursuis cette procédure help.ubuntu.com . Le problème est en fait lorsque je redémarre Apache2 Je reçois un message

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

J'avais été ajouté le test.php fichier sur /var/lib/wordpress/wp-content. Si j'essaie mydomain.com/blog/wp-content/test.php, J'ai eu error 404. Cela signifie qu'en général, je manque tous les fichiers statiques de plugins/thèmes.

Qu'est-ce qui pourrait être une solution?

2
vaske

Échangez l'ordre de ces directives Alias ​​pour que la plus spécifique soit la première:

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

De la docs :

[...] les alias et les redirections sont traités dans l'ordre dans lequel ils apparaissent dans les fichiers de configuration, la première correspondance étant prioritaire.

Pour cette raison, lorsque deux ou plusieurs de ces directives s'appliquent au même sous-chemin, vous devez d'abord répertorier le chemin le plus spécifique pour que toutes les directives aient un effet. Par exemple, la configuration suivante fonctionnera comme prévu:

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

Mais si les deux directives ci-dessus étaient inversées dans l'ordre, l'alias/foo correspondrait toujours avant l'alias/foo/bar, donc cette dernière directive serait ignorée.

1
broc.seib