.htaccessを介してファイルの拡張子とGET変数を1行で非表示にするにはどうすればよいですか?
このコードは機能しません:
...
RewriteRule ^(.*)$ $1.php [L]
RewriteRule ^file-([0-9]+)\.php$ /some_directory/files.php?id=$1 [L]
例:
http://www.example.com/file.php?variable=value
する必要があります:
.htaccessを介してファイルの拡張子とGET変数を1行で非表示にするにはどうすればよいですか?
このコードは機能しません:
...
RewriteRule ^(.*)$ $1.php [L]
RewriteRule ^file-([0-9]+)\.php$ /some_directory/files.php?id=$1 [L]
例:
http://www.example.com/file.php?variable=value
する必要があります:
最初のルールにいくつかの条件を追加して、ループしないようにする必要があります。次のように変更してみてください。
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php [L]
次に、2番目のルールを続行します。
これは静的ページに適しています。ファイルとして「インデックス」を変更し、それに応じてget要素を変更するだけです。たとえば、「id」要素があります。
RewriteEngine On
RewriteRule ^((?:[a-zA-Z0-9_-]|%20)+)/?$ index.php?id=$1