0

mydomain.com/something の使用時に 404 エラーとリダイレクトを防止しようとしています。

ページ something.php が存在しないため、404 エラーがスローされます。インデックス ページに送信して、php で値を取得し、アプリで使用できるようにします。また、これを拡張子 (.php) の削除と組み合わせて、まだページにアクセスできるようにしたいと考えています。たとえば、mydomain.com/contact.php の代わりに mydomain.com/contact と入力できるようにしたいが、それでも mydomain.com/something を使用して、ページに何かが存在しない場合はそれをインデックス ページに送信できるようにしたい.

うまくいけば、私はさまざまなことを試してみましたが、何も機能していないようです。私が得ることができた最も近いものは、次のhtaccessコードを使用することでした:

DirectoryIndex index.php
Options +FollowSymLinks
Options -MultiViews
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !^(index\.php|robots\.txt|css|index|js|robots\.txt|favicon\.ico)
RewriteRule ^(.*)$ index.php?/$1 [L]

ただし、ファイルが存在せず、値をインデックスページにスラッシュとして送信したいだけの場合、機能せず、ハングして最終的に 404 がスローされるようです。

4

1 に答える 1

0

DOCUMENT_ROOT/.htaccessファイルで次のコードを試してください。

DirectoryIndex index.php
Options +FollowSymLinks
Options -MultiViews
RewriteEngine on
RewriteBase /

## To internally redirect /dir/foo to /dir/foo.php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.+?)/?$ /$1.php [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?/$1 [L]
于 2013-12-15T05:17:38.817 に答える