1

すべてのファイルからテンプレート ファイルにリダイレクトしようとしています。ただし、リダイレクトは URL を指定した場合にのみ機能します

例えば:

動作しません (リダイレクトしません)

Options -Indexes
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) /template.php?page=$1 [L,QSA]

動作します ( http://domain.com/versioned/template.php?page=index.htmlにリダイレクトします)

Options -Indexes
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) http://domain.com/versioned/template.php?page=$1 [L,QSA]

2 つ目のオプションは、ブラウザで URL を変更することです。元の URL を保持する必要があります。

ありがとう

問題は

RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{REQUEST_FILENAME} -f

これを終了すると動作しますが、現在のファイルを URL で返す代わりに、常に template.php を返します。

4

1 に答える 1