2011-06-24 8 views
0

複雑で不均一な階層に配置されたユーザー生成ページを含むPHPシステムがあります。ページはユーザーによって作成され、一部のページにはサブページなどがあります。PHPの複数の動的SEO /短縮URL

短縮URLシステムを追加するように求められました。したがって、階層内の任意の場所にある任意のページにはdomain.com/XXXXでアクセスできます。ここでXXXXは何でも構いません - ここではSEOに関心がありません。その背後にはソーシャルメディア主導のプロジェクトがあり、ユーザーが好きなページのURLをつぶすことができるようにしたいと考えています。

私は次のようなことを期待しています。私たちはAAAAから始まり、各ページが作成されるたびにZZZZに向かいます。これらのナメクジのそれぞれは、実際のURLの例と一緒にデータベースに格納されるdomain.com/projects.php?p=32

私はドメインにdomain.com/XXXXを変換するのに十分なMOD-書き換えを知っています.com/index.php?slug = XXXX、そこから行く場所は私に少し困惑しています。 index.phpはデータベースルックアップを行い、実際のurlにユーザをheader()することができますが、slug-urlはアドレスバーにとどまる必要があります。

index.phpのiframeを使用するのはひどい考えですか?

読んでいただきありがとうございます。

+0

詳細なブログ:http://sforsuresh.in/url-rewriting-using-htaccess-modrewrite/ –

答えて

0

[R=301]ディレクティブを.htaccess書き換えルールの最後に使用した場合、リダイレクトとして機能します。あなたがdomain.com/XXXXに行くと、アドレスバーにdomain.com/index.php?slug=XXXXと表示されます。それはあなたが達成しようとしている行動ですか?

また、header()は使用しません。インデックスページを処理ページにします。どちらかを使用するか、代わりにinclude()メソッドを使用してください。

+0

* * OPはURLをdomain.com/XXXXとして保存したいが、宛先ページを表示するには、それはdomain.com/pages/username/xxx.phpのようなものかもしれません – Skilldrick

0

iframeを使用するのはひどい考えで、脆弱なサイトにつながると思います。

index.phpがフロントコントローラとして機能しない理由はありますか?リダイレクトするのではなく、ページを表示するだけの理由はありますか?あなたはちょうどincludeにできるはずです。


また、あなたはdomain.com/projects.php?slug=XXXXからdomain.com/XXXXを書き換え、およびprojects.phpの上部にSLUG-> P変換を行うことができませんでしたか?その後、変換では、スラッグと完全なURLではなく、スラッグとページIDを記録するだけです。

+0

私はあなたがGET varsに含めることができないどこかを読んでいます。私は、変数をスコープに入れてから含めることができると思います。それぞれのページには会話スレッドが必要です。私はこのことをたくさん考えなければならないかもしれません。そのWordPressのように見えるように開始します。 – user814358

+0

良い点。とにかくスラッグを維持するのではなく、新しいURLにリダイレクトする方が意味があると思います。それは人々がよく慣れていることです。例えばこのリンクに従ってください:http://stackoverflow.com/q/6470359/49376 – Skilldrick

+0

@ user814358別のアイデアのために私の編集を参照してください。 – Skilldrick