Posted by futopapa on February 22, 2011 at 2:46pm
はじめまして。
会社のホームページをDrupalで構築する作業をしています。
Drupalのインストールは別のメンバーがすでに行なっていて
/var/www/....../html/drupal/ (途中忘れました)
というような構成になっていました。
そこにいろいろなテーマやモジュールを組み込んでつくりこんでいきましたが、
サイトのurlに /drupal/ というのが途中に入っています。
www.xxx.co.jp/drupal/kaisya/xxx
これをはずしたいのです。
www.xxx.co.jp/kaisya/xxx
このように。
Apacheのbaseディレクトリを変更するとテーマなどが崩れてしまう。
対応案として
案A.基本的なテーマに戻し、Apacheのbaseディレクトリを /drupal/ に変更し、再度構築しなおす
案B.Drupal をインストールしなおし、再度構築しなおす
どちらにしても、再構築しなおしになってしまいます。
何か良い方法などないのでしょうか?
御教授よろしくお願いします。
Comments
初めまして、U-Taroと申します。 相対パスを使用して構
初めまして、U-Taroと申します。
相対パスを使用して構築していれば、パスが変わっても特に問題は無いと思うのですが、絶対パスで構築されてしまったのでしょうか?
もしそうだとしたら、再インストールする必要性は一切ありませんが、パスの修正は必須になると思います。
まずはApacheで www.xxx.co.jp/kaisya が /var/www/....../html/drupal のパスへ向くように設定してください。
そして、テーマファイルで絶対パスになっている箇所をテンプレートの変数を使うように変更し、もし、ノードでも絶対パスを使用されているなら、それも相対パスに直すか、フィルターをPHP Filterにして l()やurl()関数などを使ってリンクすれば大丈夫だと思います。
テーマファイルの画像だったらこんな感じに修正してみてください。
<img src="https://www.xxx.co.jp/drupal/drupal/kaisya/sites/all/thmes/company/images/logo.png" alt="hoge" /><!-- ↓テンプレートの変数を使ってパスを構成します。 -->
<img src="<?php print $base_path . $directory ?>/images/logo.png" alt="hoge" />
こんにちは、futopapaさん Drupalのディレクト
こんにちは、futopapaさん
メールから直だったので、U-taroさんから的確な回答に気づきませんですた。
自分の以下の記述はU-taroさんの
の部分になりますっ。
Drupalのディレクトリやファイルを変えないで変更するなら、
virtualhostの設定でできます(上級者向き なので分かる人がいればになりますが)。
以下のコードを/etc/apache2/sites-avaiable/default(もしくは/etc/httpd.d/httpd.conf)のどこかに付け加えてください。
<?php<VirtualHost *:80>
DocumentRoot /var/www/....../html/drupal/ #Drupalのフォルダ
<Directory /var/www/....../html/drupal/> #Drupalのフォルダ
AllowOverride All
allow from all
Options +Indexes
</Directory>
ServerName www.xxx.co.jp/ #サイトのURL
</VirtualHost>
?>
といずれにしても、一度設定を変えた後にキャッシュのクリアをする必要がありますー。