2012-02-21 9 views
2

私はwww.mypage.comというページがあります。存在しない別のURLに特定のURLをリダイレクトしたいと思います。.htaccessを通じてURLをカスタムURLにリダイレクト

たとえば、www.mypage.com/aboutwww.mypage.com/about-company.phpにリダイレクトします。ここで/ aboutは存在しません。これは私が作成したカスタムURLです。

私は動的URLを持っていません。.htaccess "this/CUSTOM_URL this /URL.phpにリダイレクトする"だけを伝えたいと思います。

URLバーには、カスタムURLが表示されている必要があります。

私はそれができるかどうかわかりません。私はそれを探して、私が見つけたのはパターンを使って動的URLを書き換える方法です。

その例は、のPermalinks of Wordpressで、ページごとにどのURLを指定できるかを指定できます。

答えて

3

してみてください。

RewriteEngine on 
RewriteBase/

#if about was requested, server about-company.php 
RewriteRule ^about$ about-company.php [L,NC] 

たとえば、 www.mypage.com/anythingはあなたが

RewriteRule ^(\w+)$ $1.php [L,NC] 

それとも、例えば表示するためにどのようなページを決定する単一の.phpファイルへのすべての要求を持つことができて上のルールを置き換えることができ www.mypage.com/anything.phpにアクセスするために使用されます

RewriteRule ^(\w+)$ index.php?page=$1 [L,NC] 
+0

ありがとうございます。実際には、私が使用しているサーバは、ここに質問を投稿する前に試したものが別のサーバで動作していたため、いくつかの問題があるようです。しかし、あなたのソリューションは完全に機能しました。御時間ありがとうございます! – Unapedra

1

書き換えルールを探しています。

その上で読んでいくつか:www.mypage.com/aboutを使用してwww.mypage.com/about-company.phpにアクセスするには:あなたが動作するように要求された具体的な例を得るためにあなたのサイトのルートディレクトリに.htaccessファイルに以下を追加Apache Rewrite rules

+0

私は以前これを読んでいました。このサーバーはいくつかの問題を抱えているようですが、前に試したことが別のサーバーでは動作しますが、このサーバーでは動作しません。とにかくあなたの答えをありがとう! – Unapedra

0

ウルリッヒPalhaさんのコメント上に構築され、私はこれが代替を提供するために、.htaccessファイルとして私のために働いたが、私自身の.phpページのカップルにマスキングしてリダイレクトすることがわかった:

Options +FollowSymLinks 
RewriteEngine on 
RewriteBase/
RewriteRule ^(optionOne$|optionOneWithEndingSlash/$|optionTwo$|etCetera/$) ppl/peaceseeker.php [L] [NC] 
RewriteRule ^(donny$|donny/$|donnycallahan$|donnycallahan/$) ppl/donnycallahan.php [L] [NC] 

(I人々がexample.com/about/(終わりのスラッシュで)をタイプしたときUlrichの解決策が私のために問題を引き起こしたのでこれを言及してください。

ありがとう、ウルリッヒ。 Ulrichの.php-suffixルールを任意の数のディレクトリに再帰的に降格させる方法を知っている人は誰でもコメントをいただければ幸いです。ディレクトリに降りする必要がある人のための一時的な解決策として

が、これは私の仕事:

RewriteRule ^(\w+)$ $1.php [L,NC] 
RewriteRule ^(\w+)/(\w+)$ $1/$2.php [L,NC] 

を2番目のコマンドは、Webサイトのルートフォルダ内のすべてのディレクトリの最初のサブディレクトリを処理します。

$(サブディレクトリの新しいレベルごとに1つ)の前に "/(\ w +)"インスタンスを追加するだけで、3つのレベルのサブディレクトリ、つまり4,5または10を処理し、 $ 3、/ $ 3/$ 4、/ $ 3/$ 4/$ 5、またはルールの ".php"の直前に必要なもの私は2つのレベルのディレクトリしか必要としませんでした。その解決策は十分簡単です。

可能であれば、私はまだ再帰的な解決策を望んでいます。