Topic: フレンドリーURLがうまく機能しない  (Read 2234 times)

Pages: [1]   Go Down

#1: 26-Dec-2006, 01:26 AM

ken
Posts: 19

kenと申します。この度、0.95をインストールさせていただきましたが、フレンドリーURLが機能せず、404が返ってきましてご助言いただきたく投稿させていただきました。

サーバが、apache2.2系のため、以下の記事を参考にさせていただきまして、
http://modxcms.com/forums/index.php/topic,10085.msg69132.html#msg69132
http://modxcms.com/forums/index.php/topic,9765.0.html

modx/内のht.accessを.htaccessに、modx/manager内の.htaccessも同様にしました。

そして、
modx/.htaccess内の一部を
Code:
RewriteEngine On
RewriteBase /modx
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA,NC]
のように変更し、phpinfo()でmod_rewiteがサポートされていることも確認しました。
またmodx/.htaccessにはBASIC認証も記述していまして、ちゃんと認証も動いていますので、.htaccessが動いていないということもないかと思います。

そして、
http://modxcms.com/forums/index.php/topic,9765.0.html
ここにある手順6のようにチェックを入れていますが、なぜか404が返ってきてしまいます。

このような場合、ほかにチェックすべきところはありますでしょうか?
現状これぐらいの情報しかなく申し訳ないのですが、ご助言いただけると助かります。

よろしくお願いします。

環境
OS:Debian SID
MODx:0.95
Apache: 2.2.3

#2: 26-Dec-2006, 04:05 AM


nori
Posts: 67

WWW
kenさん
はじめまして、Noriです。
自分も最近Apache2.2に切り替えたのですが、つまづいたのは次の2点
でした。

1)Apache2.2をtarボールからインストールすると、デフォルトでAllowOverride None
で、htaccessが使えない状態になっています。 レンタルサーバではhttpd.conf
を見る事がないのでつまづきました。
2)RewriteBase / になっていた事、http://ドメイン名/でサイトを作成すれば
問題にならなかったと思うのですが、http://ドメイン名/modx/にてインストールし、メインの
静的ページは残しつつ作業したかった。

結局、現在は動作確認を全て終了し、RewriteBase /modx から RewriteBase /に
htaccess変更し、サイトを公開しています。
Linux等詳しくないのですが、動いたのでOKみたいな感じです。

#3: 26-Dec-2006, 05:29 AM

ken
Posts: 19

Noriさんご返信ありがとうございます。無事解決しました。

apacheのログを見ると、どうもエイリアスがうまくいっていないようで、/var/www/のほうを見に行ってしまうため、RewriteBaseを定義しなおしたところ解決しました。
Code:
RewriteEngine On
RewriteBase /~username/php/modx
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA,NC]

原因はmod_userdirとの併殺というか、mod_userdirを使った上でRewriteBaseをちゃんと指定してあげていなかったことだと思います。
これはapache2.2だけの問題ではないかもしれません。

お手数おかけしましたが、無事解決しましたのでご報告させていただきます。
Pages: [1]   Go Up
0 Members and 1 Guest are viewing this topic.