から
index.php?URL=pages/the-page.php
単純にthe-page
. 問題は、直接含まれていないページpages
(つまり、pages/sub
) が要求されたときに、.css と .js をリダイレクトすることです。これは良くありません。
私が達成しようとしているのはこれです:
- フォルダー内のファイルのみを書き換えますが、その
pages
すべてのサブディレクトリを含めます。
files
重要なことは、フォルダーの URL を決して書き換えないことです。
コードは次のとおりです。
Options +FollowSymlinks
RewriteEngine on
# prevent endless loop
RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule ^ - [L]
# redirect the client
RewriteCond %{QUERY_STRING} URL=pages/(.+?)\.php
RewriteRule ^index\.php$ /gr/%1? [R,L]
# exclude rewriting all files located in /gr/files
RewriteCond %{REQUEST_URI} !^/gr/files/
# rewrite to real content
RewriteRule ^.*$ /gr/index.php?URL=pages/$0.php [L]
私はこのコードとの戦いに数え切れないほどの時間を費やしてきました。わずかな変更でも 404 または 500 エラーがスローされます。
また、外部リンクを削除して、適切なアドレスではなく .com/www にすることも問題です。