.htaccess ファイルを使用して PHP 拡張子を非表示にしようとしていますが、うまくいかないようです。ディレクトリに html ファイルがあり、.html 拡張子を使用していない場合は機能します。
これが私が持っているものです。
RewriteEngine On
RewriteBase /
RewriteRule ^([^/.]+)$ $1.php [L]
それで
http://www.mydomain.com/test
提起すべきです。
http://www.mydomain.com/test.php
それはこう言います:
Not Found
The requested URL /test was not found on this server.
答え1
サイトの conf ファイルで、MultiViews を削除することでこれを修正できました。その後、正常に動作するようになりました。
答え2
私は Ubuntu Server を搭載した独自の HomeServer を持っており、これを次のように実行しました。
以下の場所にあるapache2設定ファイルを編集する必要があります。
/etc/apache2/apache2.conf
sudo nano /etc/apache2/apache2.conf
次のような行を編集する必要があります:
<Directory /var/www/html/> Option Indexes FollowSymbLinks AllowOverride None Require all granted </Directory>
AllowOverride None
を に置き換えAllowOverride All
、ターミナルで apache2 の書き換えモードを有効にする必要があります。sudo a2enmod rewrite
その後、Apacheサービスを再起動します
sudo service apache2 restart
今すぐ試してください。動作するはずです。