/ / .htaccessファイルが適用されませんでした(.php拡張子を削除する) - php、.htaccess

.htaccessファイルが適用されませんでした(.php拡張子を削除する) - php、.htaccess

私のXAMPPローカルホストサーバー上の.htaccessファイルを使用して、拡張子.phpのみを削除してみました。次の行を書きます。

RewriteEngine On
RewriteOptions inherit
Options +FollowSymlinks
Options -Multiviews
## hide .php extension
## To externally redirect /dir/foo.php to /dir/foo
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^.]+)$ $1.php [NC,L]

私は自分の目標を達成するためにもっと多くのオプションを試しましたが、何も変わっていません。私は何か悪いことをしましたか?

回答:

回答№1は0

あなたが持っているかどうか確認する AllowOverride All の中に httpd.conf file(apacheの設定ファイル) Windows上でXAMPPを使用している場合は、httpd.confファイルは次のようなディレクトリに存在するはずです。 C:xamppapacheconfhttpd.conf

追加する AllowOverride All Directoryタグ内の行例えば: <Directory C:xampphtdocs> AllowOverride All Allow from all </Directory>

P.S上書きを許可することで、サーバーに許可するように指示します。 .htaccess サーバーのデフォルト設定を上書きするファイル。

編集:私は以前にAllowOverrideを "On"と言ったことを残念に思う。 AllowOverride "All"にする必要があります。これは私のUbuntuではうまくいきます。私はそれをWindows(xampp)で動作させる方法をすぐに見つけようと思います。


回答№2の場合は0

以下はapache2で私のために働きます。うまくいけば、それはXAMPPでも動作します。 これはあなたのコードとほぼ同じですが、要求されたファイル名をチェックします。 存在しないそしてそのPHPファイル する 存在する。

RewriteEngine On
RewriteOptions inherit
Options +FollowSymlinks
Options -Multiviews
## hide .php extension
## To externally redirect /dir/foo.php to /dir/foo
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ %{REQUEST_FILENAME}.php [NC,L]