私はこれと非常によく似た問題を抱えています:Apachemod_rewrite-きれいなURLを持つディレクトリよりもファイルを優先します
しかし、それは同じではなく、上記のリンクで言及されている解決策は私にはうまくいきません。
私のディレクトリ構造は次のようになります。
/pages/articles/january.php
/pages/articles.php
/pages/home.php
/articles/
/index.php
今、私はindex.phpページに含めています(URLによって異なります)。
たとえば、ユーザータイプがアドレスwww.domain.com(またはwww.domain.com/home)の場合、index.phpには/pages/home.phpが含まれます。
しかし、次のURLを入力すると、www.domain.com / articlesは次のようなリンクになります: www.domain.com/articles/?page []=articles(つまり、index.phpには/pages/は含まれませんarticles.phpファイル)
一方、これは完全に機能します:www.domain.com/articles/january
これは私のhtaccessファイルです:
RewriteEngine On
RewriteBase /
RewriteRule ^([a-zA-Z0-9+]*)/([a-zA-Z0-9+]*)$ %{DOCUMENT_ROOT}/index.php?page[]=$1&page[]=$2 [QSA,L]
RewriteRule ^([a-zA-Z0-9+]*)$ %{DOCUMENT_ROOT}/index.php?page[]=$1 [QSA,L]
サブページを持つことができるので、ページに配列を使用します(そして、サブページは正常に機能します!)。
編集:私はこれを見つけましたが、それは私の問題を解決しません:(
なぜこれを行うのか、そしてそれを修正する方法を誰かに教えてもらえますか?
または、ディレクトリではなくファイルを優先するにはどうすればよいですか?
編集2:「/ articles /」ディレクトリを削除して解決しましたが、htaccessファイルのルールで機能させる方法に興味があります。