2012-01-22 9 views
1

私はMac(lion)にローカルにwordpressをインストールしました vhostsを有効にした後、ホストファイルに "wordpress"を指すように127.0.0.1Wordpress - Macのライオンを使って、テーマのためのApache FollowSymlinks

<VirtualHost *:80> 
    DocumentRoot "/Users/alex/Sites/wordpress" 
    ServerName wordpress 
    <Directory /> 
      Options FollowSymLinks 
      AllowOverride None 
    </Directory> 
</VirtualHost> 

これは動作しますが、私は、デフォルトのワードプレスのインストールは問題にアクセスすることはできません。

私vhosts.confが含まれています。基本的に、私のWP-コンテンツ/テーマフォルダ内に、私は(例えば)へのシンボリックリンクを入れている


/ユーザ/アレックス/プロジェクト/ SomeTheme/

このフォルダには、私のテーマファイル

が含まれています

しかし、それはテーマを検出していないだけです(WP管理者には表示されません)
フォルダをwp-content/themesにコピーすると動作します。シンボリックリンクは、私が持っている私の/etc/apache2/users/alex.confで

を守られていません。

<Directory "/Users/alex/Sites/"> 
    Options Indexes MultiViews FollowSymLinks 
    AllowOverride None 
    Order allow,deny 
    Allow from all 
</Directory> 

私は明らかにどこかで何かが欠けています....

+1

私はservervaultに人が助けることができるかもしれないと思う。 – konsolenfreddy

+0

ええ..私は間違ったサイトにこれを投稿したと思う..移動することはできますか? – Alex

答えて

4

Wordpressのは問題がありますシンボリックリンクを使ってこれは、PHPが__FILE__のマジック定数をどのように処理するかに起因します。 PHPでは、__FILE__は、実行されるファイルの絶対パスを返します。残念ながら、そのプロセスのシンボリックリンクは無視されます。 (すなわち。あなたは/opt/wordpress/instance/wp-content/sym-themes/prettyを通じてファイルにアクセスされる可能性がありますし、ファイルではなく、ワードプレスは、それが/opt/content/themes/prettyを返し、期待するものである/opt/wordpress/instance/wp-content/sym-themes/prettyを返すので、__FILE__が呼び出され/opt/content/themes/pretty、中に実際にいる間。

Wordpressのは、中__FILE__の多用を使用していますそれはコードであり、またbasename()関数は、ワードプレスのルートディレクトリとテーマディレクトリを比較して、ファイルの解析などのテーマディレクトリの名前を取得する機能を持っています。 2つの異なるものですが、一方のパスをもう一方のパスに追加するだけで、存在しないものへのパスになります。

たくさんのコードの矛盾を起こす予定がない限り、Wordpress構造のどこにでもシンボリックリンクを使用しないことを強くお勧めします。

1

@Drahkarが指摘しているように、WordPressではシンボリックリンクが困難です。テーマディレクトリを変更するには、単純なプラグインを使用します。

add_filter('theme_root', 'sp8963532_theme_root'); 
function sp8963532_theme_root() 
{ 
    return 'FULL_LOCAL_PATH_TO_YOUR_THEMES_DIRECTORY'; 
} 

add_filter('theme_root_uri', 'sp8963532_theme_root_uri'); 
function sp8963532_theme_root_uri() 
{ 
    return 'URI_TO_YOUR_THEMES_DIRECTORY'; 
} 

は、ファイルにコードをコピーし、wp-content/mu-plugins/にファイルを置きます。

+0

これは、キャッシュなどの問題を解決しません。正直なところ、Wordpressのシンボリックリンクを使用しない方が良い。 – Drahkar

+1

このソリューションは、シンボリックリンクの代わりに_使用されています。キャッシングはここで問題にはなりません。同様のケースでは、[this answer for](http://wordpress.stackexchange.com/questions/15483/symbolic-links-on-dev-box-with-plugins-and-stylesheets/15484#15484)を参照してください。 – fuxia

関連する問題