2012-02-03 7 views
3

私は、エラー404が見つかりません参照して、私の.htaccessファイルにこのエントリを追加するとき、私は私のprevious postrcs20から受け取った答えを使用:ApacheがURLを見つけられないための書き換えルール?

Options +FollowSymLinks 
RewriteEngine on 
RewriteRule ^member\-([0-9]+)\-([^/])\.htm(l)?$ view_profile.php?id=$1 [NC,L] 

私はそれを渡しているURLは次のとおりです。

mysite/member-8222-jane.html 

これがなぜ起こっているのでしょうか。私の昔の書き換えルールは、正常に動作します:

RewriteRule view_profile=(.*)$ view_profile.php?id=$1 
+0

Apacheのエラーログを確認して、何が吐き出されているのかを確認してください。 – animuson

+0

は次のようになります:RewriteRule:unknown flag 'NC] – Paul

+2

これはtypoですか、実際には2つの右角括弧 '[L、NC]]'を持っています。 '[L、NC]' –

答えて

7

がそれを見つけた:

+サインはあなたがまたmember-8222-jaane.htmlに余分な文字janeを追加することができます[^/] =>([^/]+)

Options +FollowSymLinks 
RewriteEngine on 
RewriteRule ^member\-([0-9]+)\-([^/]+)\.htm(l)?$ view_profile.php?id=$1 [NC,L] 

に追加する必要があります$ 2のように使って:

RewriteRule ^member\-([0-9]+)\-([^/]+)\.htm(l)?$ view_profile.php?id=$1&extra=$2 [NC,L] 
+0

私はそれを(。*)\ .htm(l)に変更しても、 ?それは動作します。それに問題はありますか? – Paul

+0

まったく、どちらもうまくいく – rcs20

関連する問題