2017-11-16 3 views
0

私のソーシャルネットワークのウェブサイトのhtacessをinstagramとtwitterのようなピリオド(。)やその他の記号に変更しようとしています。ここに私がすでに持っているものがあります。期間を許可するhtacess書き換えの書き出し問題

RewriteEngine On 
RewriteRule ^([a-zA-Z0-9_-]+)$ shop.php?u=$1 
RewriteRule ^([a-zA-Z0-9_-]+)/$ shop.php?u=$1 

いつでも、ユーザが(例えばwebsite.com/biscolで、プロファイルのリンクとして、彼のプロフィールを入力しようとすると、私たちが見るものの次のエラーになります。)私はエラーがあると仮定し

+0

どのようなエラーが表示されますか? –

答えて

0

を助けてください404?あなたの正規表現の文字クラス[].を許可していません。それを追加すればよいです。さらに、?を使用して、必要な式の数を減らすオプションの文字/グループを作成することができます。

RewriteRule ^([a-zA-Z0-9_.-]+)/?$ shop.php?u=$1 

それは範囲を作成する2つの文字の間にある場合にも、リテラルであることを文字クラスの最後(または最初)であることを-を必要としています。

a-zA-Z0-9_\wに短縮することができます。したがって

RewriteRule ^([\w.-]+)/?$ shop.php?u=$1 

も有効です。

+0

...これ以上考えてみると、 '/ user /'のようにURLにユニークなものがあるはずですので、 '/'を付けずにすべてのリクエストをリダイレクトしません。例えば'image.jpg'、' test.php'、 'style.css'などもリダイレクトされます。 – chris85

+0

#chris85私があなたに言ったことを試しましたが、うまくいきませんでした。私は仕事がうまくいく必要がありますが、私はこだわっています – Fatherhero

+0

あなたはどんなエラーを受けていますか?何を試しましたか? – chris85

関連する問題