subdirectory / index.phpに移動する必要がある特定のサブディレクトリ内の要求を除いて、すべての要求がindex.phpに移動する必要があるサイトがあります。
サブディレクトリのインデックスページで使用するために、ディレクトリパスをクエリ文字列に変換したいと思います。
私は本当にhtaccessファイルについてほとんど考えていません、そしてこの質問は百回答えられたと確信しています、しかし私は答えを得るために何を検索するべきかを理解することができません。
だから-これは私がこれらの条件下で起こりたいことです...
RULE 1
www.example.com/anything_or_nothing <goes to> /index.php
www.example.com/anything/anything_else <goes to> /index.php
RULE 2
www.example.com/subdirectory/ <goes to> /subdirectory/index.php
RULE 3
www.example.com/subdirectory/some_other_directory/ <goes to> /subdirectory/index.php?a=some_other_directory
これは私が現在持っているものです。動作しません-少なくとも、ルール1は動作し、ルール2は動作します(これは、物理的な/ subdirectoryが存在し、index.phpがデフォルトとして提供されているためだけだと思います)。ルール3は動作しません。
Options All -Indexes
RewriteEngine On
RewriteBase /
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^/?timeline/
#RULE 1
RewriteRule ^.*$ ./index.php
#RULE 2
RewriteRule ^/sub.*$ /sub/index.php
#RULE 3
RewriteRule ^/sub/([^/\.]+)/?$ /sub/index.php?a=$1 [L,NC]
サブディレクトリで.htaccessファイルを機能させることができなかったので、すべてのルールをルートの.htaccessファイルに入れたいと思います。
私は他のサイトからこの.htaccessをまとめたので、無知のレベルについてお詫びしますが、どこに行けばいいのかわかりません...
前もって感謝します。
追加情報>>>>>>>>
私が試した他のこと。
これ
RewriteRule ^/sub/([^/\.]+)/?$ /sub/index.php?a=$1 [L,NC]
RewriteRule ^/sub.*$ /sub/index.php
RewriteRule ^.*$ ./index.php
すべてのルールの動作を停止します。
これ:
RewriteRule ^.*$ ./index.php
RewriteRule ^/sub/([^/\.]+)/?$ /sub/index.php?a=$1 [L,NC]
RewriteRule ^/sub.*$ /sub/index.php
元の例のように動作するようです。