2016-08-26 10 views
1

私は、私が把握しようとしているかなり単純な301リダイレクトの問題があります。私は、ページいますCodeigniter:htaccess 301 redirect

http://localhost/site/public_html/usa/fl/fort-lauderdale/page 

私はにリダイレクトしたい:私の.htaccessフォルダで

http://localhost/site/public_html/usa/fl/miami/page 

は、私はこの試みた:

Redirect /fort-lauderdale/page http://localhost/site/public_html/usa/fl/miami/page 

をそして、それは動作しませんでした。エラーや何もない、私はまた、Apacheを再起動しようとしました。

私も試してみました:

リダイレクトDID
#RewriteCond %{QUERY_STRING} fl/fort-lauderdale/page 
#RewriteRule ^http://localhost/site/public_html/usa/fl/miami/page$ [L,R=301] 

は、しかし、私は「あまりにも多くの時間をリダイレクトする」エラーを持って、URLは私のアドレスバーに30回のように複製されました。

どのような考えですか?あなたの.htaccessファイルで

+0

リクエストを処理するファイルに次の行を追加することができます: 'header( 'location:/ site/public_html/usa/fl/miami/page ');それがすぐそこに停止しなければならないことを知る必要があるので、「出口」に気をつけてください。 –

+0

私は前にその提案を見ました。それが私のコントローラに追加するものですか? – massanisso

+0

はい、リクエストが常に同じコントローラに向いている場合は、追加のチェックを追加する必要があります。 –

答えて

1

次の行を追加します。

Redirect 301 /site/public_html/usa/fl/fort-lauderdale/page /site/public_html/usa/fl/miami/page 

あなたの.htaccessファイルがルート(ローカルホストのフォルダ)であることを確認してください。それをサーバーに転送すると、public_htmlに移動します(これはサーバーのルートになります)

+0

ああうわー実際のルートに私の.htaccessファイルを移動することで問題が解決しました。本当にありがとう! – massanisso

+0

この回答に投票してください。それを正しいものとしてマークしてください。 –