2011-08-16 4 views
0

私はmod_rewriteで最初のかなりのURLを実装しようとしています。ちょうど私が正しい道にいるかどうかをチェックしたい。私は開発環境経由でやっています。mod_rewriteの文字をデコードする

正規表現のmod_rewriteのバージョンは次のようになり、私はwww.cysticlife.dev/Profile.php?id=34www.cysticlife.dev/34/Profile

になるために取得しようとしている:事前に

RewriteEngine on 
RewriteRule ^/([0-9]+)/?/Profile$ www.cysticlife.dev/Profile.php?id=$1 [L] 

感謝。

+0

私は動作しませんでしたその怖いとNotをもたらし/ 34 /プロフィール要求されたURLは、このサーバのエラー – LightningWrist

答えて

0
RewriteEngine on 
RewriteRule ^/([0-9]+)/Profile/index.html$ /$1/Profile [R=301,L] 
RewriteRule ^/([0-9]+)/Profile/$ /$1/Profile [R=301,L] 
RewriteRule ^/([0-9]+)/Profile$ www.cysticlife.dev/Profile.php?id=$1 [L] 

「?/」は必要ありませんでした。 私が追加した行は、www.cysticlife.dev/34/Profile、www.cysticlife.dev/34/Profile*と/ *とwww.cysticlife.dev/34/Profile* /index.html *の両方の作業を行います(301の "Permanently moved"リダイレクションにより、3つのURLのうちの1つだけが検索エンジンによって索引付けされます)。

サイドノート:書き換えに完全なURLを指定する必要はありません。あなたは簡単で、最後の1を置き換えることができます:

RewriteRule ^/([0-9]+)/Profile$ www.cysticlife.dev/Profile.php?id=$1 [L] 
+0

サーバーとは何であるで見つかりませんでした を発見設定?これはApacheで私の開発環境で正常に動作しています。 あなたのPHPスクリプトは小文字ではなく、大文字の "P"で始まっていますか?他の問題は、あなたのサーバに含まれていない/含まれていないrewrite_modから来る可能性があります。 – red

+0

実際のサーバーでmod_rewriteが有効になっていることは知っていますが、これは私の開発者にあります。私はダブルチェックしてみましょう。 <のIfModule mod_rewrite.c> ... 愚かな提案(ただし/ W:これらはで囲まれたのに、私は私自身のウェブサイト上で使用し、正確に線ですので、私は知らされてください@LightningWristおかげ – LightningWrist

+0

は、私が興味これまで少しの間違いがあり、何時間もバグがあったのを知っていると思います...)、あなたはwww.cysticlife.dev/Profile.php?id=34にURL書き換えなしでアクセスできるかどうかチェックしましたか? – red

関連する問題