.php 拡張子なしで PHP ページ リクエストを解決しようとしています。私は実際にはファイル拡張子のない URL を好みますが、現時点ではそれが最大の懸念事項ではありません。問題は、外部リンクが現在の構成で壊れていることです。
www.[ドメイン名].com/abc/forms はカスタム 404 ページを返します。
www.[ドメイン名].com/abc/forms.php は正しく完了します。
www.[ドメイン名].com/service は www.[ドメイン名].com に解決されます。
www.[ドメイン名].com/abc へのリクエストは正しい index.php に解決され、URL を www.[ドメイン名].com/abc/index.php に書き換えることなく解決されます。
ディレクトリ構造はおおよそ次のようになります。
- [ドメイン名]
- index.php
- abc
- index.php
- フォーム.php
- other.php
- デフォルト
- index.php
- blah.php
これが私のhtaccessファイルです。2 番目のブロックは、.php ファイルである場合に有効なファイルであるファイルの要求を受け取り、「.php」拡張子を追加する必要があります。これは行いません。3 番目のブロックは、最も一般的に発生するエラーに対して、forms.php ページの要求を強制する試みです。これは機能しませんが、次の行は機能します (前述)。最後に、カスタム 404 ページが機能しています。
Options -Indexes
Options +FollowSymlinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^[domainname].com [NC]
RewriteRule ^(.*)$ http://www.[domainname].com/$1 [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
RewriteRule ^abc/forms$ /abc/forms.php [L,R=301]
RewriteRule ^service(.*)$ / [L,R=301]
ErrorDocument 404 /404.php
ここで何か不足していますか?ありがとう。