2011-08-10 10 views
0

私はちょうど標準の共有サーバーからApacheのcentOS5.5に移行しました。私はApacheを初めて使用しています。Apacheと.htaccess

私の以前の共有ホスト.htaccessファイルの内容は次のとおりです。

RewriteEngine on 

RewriteCond %{HTTP_HOST} ^mywebsite.com 
RewriteRule (.*) http://www.mywebsite.com/$1 [R=301,L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([a-z0-9]+)$ /index.php?_url=$1 [NC,L,QSA] 

Apacheで使用するために上記を追加する手順は何ですか?すなわち、どのコンソールコマンド、どのファイルを開く必要がありますか、上記のすべてを私のhtaccessファイルから置きますか?

ありがとうございます!

+0

これは間違いなくhttp://httpd.apache.org/docs/current/mod/mod_rewrite.htmlを助けます。 迅速かつ保証されていないソリューションとして、このファイルをWebサイトのルートに置くことができます。 – J0HN

+0

@ J0HN:ありがとうございます。しかし、Webルートの.htaccessファイルでもリダイレクトは機能しません。 – Justine4601

+0

mod_rewriteが無効になっている可能性がありますか? http://stackoverflow.com/questions/7007041/change-url-in-codeigniter/7007124#7007124いくつかの手順があります。 – J0HN

答えて

1

上記はApacheの.htaccessファイルです。新しいWebルートに配置するだけで問題ありません。

+0

ありがとうございますが、リダイレクトは機能しません:(ファイルはルート(/ home/user/www/htmlはファイルのルートディレクトリです – Justine4601

0

この問題のいくつかの可能な理由があります:

  • .htaccessファイルは、あなたのApacheのために有効になっていない、またはそれらは異なる名前を使用しています。あなたの設定で 'AccessFileName'オプションをチェックする必要があります。

AccessFileName .htaccess

  • .htaccessファイルが書き換えルールを無効にするには有効になっていますが、おそらく制限されています。それは次のようになります。あなたはの線に沿って何かのためにあなたの設定になります。あなたのウェブサイトに適用される場所で、あなたは(私が思う)に変更することができていることが判明した場合

AllowOverride None

AllowOverride FileInfo

ルールのプロセスへを許可しますあなたのサイトのために歌いなさい。

  • mod_rewriteが何らかの形で無効になっています。私はこれが当てはまるとは思わない。もしそうなら、Apacheがあなたの.htaccessファイルを解析しようとするとエラーが出ると思うからだ。

LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so

  • 何とかこれらのルールは、失敗の原因となっているセットアップで変更何か:しかし、あなたはあなたのApacheの設定では、このような行を探して、このことを確認することができます。これは起こりそうもないようですが、Apacheのconfファイルにアクセスできる場合は、RewriteLogをオンにして何が起こっているのかを知ることができます。

最後に、何らかの理由で.htaccessファイルを使用しないことを前提としています(それらに対していくつかの引数があります)場合は、設定に応じていくつかの異なる場所に書き換えルールを設定できます。初心者のためにそれらをあなたの指示に入れることができます。書き換えルールのためのApache docsはかなり良いです、私はそれらをチェックアウトすることを強くお勧めします。

関連する問題