質問するログイン新規登録

回答編集履歴

1

コメントを受けての追記

2020/01/19 14:58

投稿

otn
otn

スコア86430

answer CHANGED
@@ -20,9 +20,30 @@
20
20
  ```Apache
21
21
  RewriteEngine On
22
22
  RewriteCond %{REQUEST_URI} !.
23
+ #RewriteCond %{REQUEST_URI}.html -f ・・・・・この行間違い
23
- RewriteCond %{REQUEST_URI}.html -f
24
+ RewriteCond %{REQUEST_FILENAME}.html -f
24
25
  RewriteRule .* %{REQUEST_URI}.html [L]
25
26
  ```
26
27
  4つ目のような、ディレクトリ部分にのみドットがある場合にも`.html`を付ける場合は、
27
28
  2行目の`!.`を引用されているような`!.[^/.]+$`にします。
28
- (2つ目の`\`は不要なので`!.[^/.]+$`でいいです)
29
+ (2つ目の`\`は不要なので`!.[^/.]+$`でいいです)
30
+
31
+ #追記
32
+ すいません。まず前回の付け足し部分に間違いがありましたので訂正しておきます。
33
+ `REQUEST_URI`→`REQUEST_FILENAME`
34
+
35
+ 最初の質問と違いますね。
36
+ というか、最初の質問が書き足りてなかったのか。今後の質問では、最初からちゃんと全部書いてください。
37
+
38
+ http://example.com/dir に.htmlを付加するだけでなく http://example.com/dir/ に対して末尾の/を取って.htmlを付加するのであれば、
39
+ ```Apache
40
+ RewriteEngine On
41
+ RewriteBase /
42
+ RewriteCond %{REQUEST_URI} !.
43
+ RewriteCond %{REQUEST_FILENAME}.html -f
44
+ RewriteRule .* %{REQUEST_URI}.html [L]
45
+ RewriteCond %{REQUEST_URI} !.
46
+ RewriteCond %{REQUEST_FILENAME}../$1.html -f
47
+ RewriteRule (.*)/$ $1.html [L]
48
+ ```
49
+ で、どうでしょうか。