回答編集履歴
5
detail に \.php の拡張子を追加
answer
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
あと、[] の中で "_-." という並びにすると文字コード上アンダースコア(_)からピリオド(.) までの範囲の文字すべてという意味になりますが、文字コード上ピリオド(.)=0x2Dよりアンダースコア(_)=0x5Fのほうが大きいので、エラーになってます。cannot compile regular expression のエラーになります。なので、ピリオドを先頭に移動しました。
|
4
4
|
|
5
5
|
```
|
6
|
-
RewriteRule ^/server/([.0-9a-zA-Z_-]+)$ /server/detail?id=$1 [QSA,PT]
|
6
|
+
RewriteRule ^/server/([.0-9a-zA-Z_-]+)$ /server/detail.php?id=$1 [QSA,PT]
|
7
7
|
```
|
8
8
|
|
9
9
|
上記は httpd.conf に設定する場合で、 .htaccess に書く場合はマッチング対象のパスの方は / をつけてはいけません。
|
4
エラーになる原因がわかったので修正
answer
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
自分の環境で試しました。
|
2
2
|
試されているもので、ほぼ正解だと思うのですが、頭の / が抜けています。
|
3
|
-
あと、ピリオド(.)
|
3
|
+
あと、[] の中で "_-." という並びにすると文字コード上アンダースコア(_)からピリオド(.) までの範囲の文字すべてという意味になりますが、文字コード上ピリオド(.)=0x2Dよりアンダースコア(_)=0x5Fのほうが大きいので、エラーになってます。cannot compile regular expression のエラーになります。なので、ピリオドを先頭に移動しました。
|
4
4
|
|
5
5
|
```
|
6
6
|
RewriteRule ^/server/([.0-9a-zA-Z_-]+)$ /server/detail?id=$1 [QSA,PT]
|
3
ピリオドの場所が悪かったので修正しました。
answer
CHANGED
@@ -1,8 +1,9 @@
|
|
1
|
+
自分の環境で試しました。
|
1
|
-
試されているもので、ほぼ正解だと思うのですが、頭の / が抜けてい
|
2
|
+
試されているもので、ほぼ正解だと思うのですが、頭の / が抜けています。
|
3
|
+
あと、ピリオド(.)を正規表現の[ ] に含めるときは最後においてはだめなようです。cannot compile regular expression のエラーになります。なので、先頭に移動しました。
|
2
4
|
|
3
5
|
```
|
4
|
-
RewriteRule ^/server/([0-9a-zA-Z_-
|
6
|
+
RewriteRule ^/server/([.0-9a-zA-Z_-]+)$ /server/detail?id=$1 [QSA,PT]
|
5
7
|
```
|
6
8
|
|
7
9
|
上記は httpd.conf に設定する場合で、 .htaccess に書く場合はマッチング対象のパスの方は / をつけてはいけません。
|
8
|
-
また、 500 Internal Server Error が出ているのであれば、 httpd のエラーログに何か出てないでしょうか?
|
2
書き換えの方向が逆でしたので、訂正します。
answer
CHANGED
@@ -1,7 +1,8 @@
|
|
1
|
-
|
1
|
+
試されているもので、ほぼ正解だと思うのですが、頭の / が抜けているのではないでしょうか?
|
2
2
|
|
3
3
|
```
|
4
|
-
RewriteRule ^/server/
|
4
|
+
RewriteRule ^/server/([0-9a-zA-Z_-.]+)$ /server/detail?id=$1 [QSA,PT]
|
5
5
|
```
|
6
6
|
|
7
|
+
上記は httpd.conf に設定する場合で、 .htaccess に書く場合はマッチング対象のパスの方は / をつけてはいけません。
|
7
|
-
|
8
|
+
また、 500 Internal Server Error が出ているのであれば、 httpd のエラーログに何か出てないでしょうか?
|
1
最初のスラッシュを追加
answer
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
ちょっとすぐにテストできないのであてずっぽうですが、
|
2
2
|
|
3
3
|
```
|
4
|
-
RewriteRule ^server/detail\?id=(.*)$ server/$1
|
4
|
+
RewriteRule ^/server/detail\?id=(.*)$ /server/$1
|
5
5
|
```
|
6
6
|
|
7
7
|
じゃないかな。
|