私はmod-rewrite
自分の.htaccess
ファイルで以下を使用しています:
RewriteRule ^$ pages/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ pages/$1 [L]
/pages/
呼び出されたサブディレクトリがURLに表示されないようにすることを目的としています。
したがって、この: http://mysite.com/pages/home.html
このようになります: http://mysite.com/home.html
それは機能しますが、いくつかの意図しない結果があります。
上記で投稿したコードの直接の結果として、.htaccess
404ルーティングがまったく機能しなくなりました。404エラーページをトリガーする必要があるものはすべて、代わりにを生成してい500 Server Error
ます。
直し方?
編集:
上記のように、カスタム404ページがで定義されている.htaccess
かどうかは関係ありません。それがない場合、またはエラーページへのパスが正しくない場合でも、サーバーはデフォルトの404ページにルーティングし、を指定しないでください500 Server Error
。
確かに、404エラーの通常のルーティングを中断せずにURLのセクションを抑制する標準的な方法が必要です。 私のオンライン調査から、上記の私の方法は一般的に404ルーティングを壊しているようですが、これまでのところ、適切な解決策は見当たりません。(これはWordpressのインストールではなく、静的なHTMLコンテンツです)
編集2:
URLから1つのディレクトリのみを抑制したいので、、、、、、、など、ポイント/pages/
できない兄弟である他のファイルやディレクトリもあるとは言いませんでした。/pages/
/graphics/
/includes/
/css/
/cgi-bin/
robots.txt
favicon.ico
たぶん、これはすべて無益な運動であるか、それが価値があるよりも多くの問題であるか?
どちらの方法でも決定的な答えを探しています。