2012-04-03 13 views
0

私はhtaccessに関する私の経験と知識が不足しているため、誰かが私が持っている問題を手伝ってくれることを期待しています。htaccessクエリ。 2は2つのホームページのルールを書き換えます

私たちがやっていることは、両方のルートディレクトリでIPボードフォーラムソフトウェアとワードプレスを実行していることです。 IPBはindex.phpファイルを持っています(URLを索引付けしているため)。新しいWordpressのindex.phpファイルの名前がblog.phpに変更されました。

htaccessファイルの最上部に、DirectoryIndex blog.php index.phpが追加されました。新しいwordpressが最初に開きます。

私が抱えている問題は、フォーラムソフトウェアからのフレンドリーなURLと新しいワードプレスのパーマリンクのためにhtaccessファイルに2つの書き換えを入れようとしていることです。

私はどちらか一方しか持たないようです。

誰も私に教えてもらえますか、どちらも正しい方向に向いていれば両方の作業ができます。

これは私がこれまで行ってきたことですが、残念ながら喜んではいませんが、条件と書き換えのいずれかを削除するとうまくいきます。

<IfModule mod_rewrite.c> 
Options -MultiViews 
RewriteEngine On 
RewriteBase/

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /blog.php [L] 
</IfModule> 

事前に感謝します。

答えて

0

まだ回答が必要かどうかわかりません。いずれにしても、2つの異なるページに移動しようとする場合、それらを区別する方法が必要です。

DirectoryIndexは、基本的にディレクトリを入力するときにデフォルトのファイル(および順序)を通知します。ディレクトリ内のhttp://host.com/は、blog.phpindex.phpの両方がblog.phpとなります。これは、サーバーに与えたリストの最初のものです。ただindex.phpがあれば、それはそれを提供するでしょう。いずれの場合も、リストに他のものがない場合、デフォルトのファイルが見つからないため、404がスローされます。

EDIT:コンテンツが見つからない場合、リストするよう試みます。私の悪い。ディレクトリリストを許可しないと、おそらくエラーコードが表示されます。オプションでディレクトリリストの外観をオフにするには:http://httpd.apache.org/docs/current/mod/core.html#options

http://httpd.apache.org/docs/current/mod/mod_dir.html

あなたの書き換えルールは、種類の異なる順序で同じことを行うたいように見えます。 http://host.com/aaが(条件に従って)ファイルまたはディレクトリでない場合は、index.phpに行きます。index.phpが存在しない場合、チェックしないので、サーバがキャッチするまでループします。つまり、index.phpが存在するか、存在しないため、次のセットには実際には到達しないため、2番目の条件セットは何もしません。

あなたは(index.phpか何かのためにblog.phpため/blog//)2を区別し、それらのいずれかのデフォルトを作成する方法を決定する必要があります。あなたがそれをランダム化したいのであれば、PHPを通してそれを行うことをお勧めします。

http://httpd.apache.org/docs/current/mod/mod_rewrite.html

..htaccessを使ってrootから/ forums /にリダイレクトしてみてください。

RewriteEngine on 
RewriteCond %{REQUEST_URI} !^/forums/ 
RewriteRule ^(.*)$ /forums/$1 [L] 
+0

お返事ありがとうございました。私はリンクを何度も読んだが、フォーラムのmod_rewritesと協力してパーマリンクを得ることはできない。フォーラムをフォルダ名/フォーラム/フォーラムに移動して問題を解決しましたが、URLからフォーラム/フォーラムを削除する方法を知っていますか? – user1310004

+0

@ user1310004フォーラムのリダイレクトを表示するために、一番下の答えを更新しましたが、これは元の質問の一部ではありません。あなたは2つのデフォルトファイルを持つことは混乱していることを理解しましたか?どのサーバがロードされるべきか、サーバはその違いをどのように伝えるべきですか? 1つはルートのデフォルトでなければならず、もう1つは他の条件のためのものです。それは基本的に私が克服しようとしていたものです。 – craniumonempty

+0

こんにちは。あなたの時間をもう一度ありがとう。はい、私はあなたが作っていた点を理解しましたが、私はフォーラム書き換え(index.php)とwordpress permalinks(blog.php)用であったサーバーに伝える方法を見つけることができませんでした。だから別のオプションを見た。理想的には、SEOの理由から、両方でrootとしてopiginalを使用したいと考えています。私たちがどのサーバにどのサーバをどのように伝えようとしているか考えてみませんか?すべての質問に対する謝罪とこれに関する知識の欠如。本当にあなたの助けと時間を感謝します。 – user1310004