2

これは多くの説明を必要としません、非常に簡単に、次はどのように機能しますか?

RewriteRule ^errors/browser/?$ /_errors/browser.php?error=browser [NC,QSA,L]

これは機能しません:

RewriteRule ^error/browser/?$ /_errors/browser.php?error=browser [NC,QSA,L]

上記の2つのスニペットの唯一の違いはs、単語の末尾から文字が削除されていることです。error

s単語にonを追加すると、errorこのコードが突然機能する理由がわかりません。私が考えることができる唯一の説明はそれerrorが予約語であるということですか?これは本当ですか?

この場合、ファイルerrorを使用して単語を照合して書き直すにはどうすればよいですか?.htaccess

アップデート

.htaccessこれは私のファイル全体です:

# Define the default document
DirectoryIndex index.php

# Turn on the rewrite engine
RewriteEngine On

# Compress all HTML, Javascript, CSS, XML... files
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript

# Set the error page rewrites
RewriteRule ^errors/browser/?$ /_errors/browser.php?error=browser [NC,QSA,L]

# Set the general first level rewrites
RewriteRule ^([a-z-]+)\/?$ $1.php? [NC,QSA,L]
RewriteRule ^([a-z-]+)\/([a-z-0-9]+)\/?$ $1.php?id=$2& [NC,QSA,L]
4

1 に答える 1

1

vim が「エラー」という単語を強調表示するのは非常に奇妙ですが、単にこれをハックしてみてください:

RewriteEngine On
RewriteRule ^erro[r]/index.html [NC,QSA,L]

そして、おそらく関連する問題があります:質問-10872503

于 2012-12-06T11:00:53.157 に答える