1

.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

する必要があります:

http://www.example.com/file

4

2 に答える 2

2

最初のルールにいくつかの条件を追加して、ループしないようにする必要があります。次のように変更してみてください。

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php [L]

次に、2番目のルールを続行します。

于 2012-07-26T17:43:15.230 に答える
0

これは静的ページに適しています。ファイルとして「インデックス」を変更し、それに応じてget要素を変更するだけです。たとえば、「id」要素があります。

RewriteEngine On
RewriteRule ^((?:[a-zA-Z0-9_-]|%20)+)/?$ index.php?id=$1
于 2018-12-11T15:15:19.293 に答える