2010-12-16 17 views
0

mod_rewriteを使って、以下のURLをどのように書き換えることができますか?ダミーのmod_rewriteについて説明するオンラインチュートリアルはありますか?Modリライト2部分質問

このURLを書き換えるにはどうすればよいですか。

http://www.example.com/sitemap.xml 
+1

dupe of http://stackoverflow.com/q/4457835/52721。 @スリープ - あなたはこの質問をしました。それに取り組んで、我々はここでバンプをしないでください。 – Robert

+0

@ロバーツ:私は閉会することにしましたが、このポストはそれ以来少し注目を集めています。そのため、2つの質問が統合されることを勧告して、modレビューのためにフラグを立てました。 – AgentConundrum

+0

十分に良い。合併は本当に道のりです、と私は思います。 – Robert

答えて

0

http://www.example.com/sitemap.php 

は、私がお勧め:チュートリアル用として

RewriteRule ^/sitemap.php$ /sitemap.xml 

は、あなたが公式Apache mod_rewrite Introductionを試してみましたか? それに続いて、URL Rewriting GuideAdvanced URL Rewriting Guideには多くの便利な例があります。複雑かもしれませんが、多くの一般的な書き換えタスクの例があります。

+0

RewriteRuleはうまくいきませんでしたが、 – HELP

2
RewriteRule sitemap.php sitemap.xml 

これでいいはずです。

+0

でもこれはうまくいきませんでしたが、チュートリアルのおかげで – HELP

+0

テストしました。これを.htaccessファイルに入れる場合は、上に 'RewriteEngine On'を追加する必要があります。 –

+0

その上ではまだxmlデータが表示されていないのですか? – HELP

2

どのように動作させるかによって、これには2つのオプションがあります。

別のファイルをリダイレクトするための最も簡単な方法は、単にRedirectディレクティブを使用することです:

Redirect /sitemap.php http://www.example.com/sitemap.xml 

これは、デフォルトでは302リダイレクトを行いますが、あなたはステータスコードを追加することによって、301に変更することができますが最初のパラメータ、すなわちとして:アドレスバーが新しいsitemap.xmlファイル名を表示するように変更されますので、両方のケースで

Redirect 301 /sitemap.php http://www.example.com/sitemap.xml 

、これは、ブラウザに往復になります。これはあなただけのルールがあることを意味し、「あたり-dirのコンテキスト」と呼ばれるものからルールを記述する方法をであることを

RewriteRule ^sitemap.php$ /sitemap.xml [L] 

注:あなたはそれをしたくない場合は、RewriteRuleディレクティブを使用することができます.htaccessファイル内または<Directory>ブロック内から書き込まれます。メイン設定から作成している場合は、ルールがドキュメントルートから一致することを示すためにスラッシュ(例:^/sitemap.php$)が必要です。

+0

これは動作しません – HELP