私は .htaccess または apache の初心者です。それがどのように機能するかわかりません。
私のURLは
http://localhost/category.php?category=something
変数値をcategory.phpの何かとして取得したいが、URLを次のように表示したい
http://localhost/something
どうすればこれを行うことができますか助けてください。
前もって感謝します
私は .htaccess または apache の初心者です。それがどのように機能するかわかりません。
私のURLは
http://localhost/category.php?category=something
変数値をcategory.phpの何かとして取得したいが、URLを次のように表示したい
http://localhost/something
どうすればこれを行うことができますか助けてください。
前もって感謝します
最初のルールは醜い URL をきれいな URL にリダイレクトし、2 番目のルールはきれいな URL を内部的にリダイレクトしますが、ブラウザ URL でユーザーに表示される内容は変更しません。
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /
# Redirect /category.php?category=something to /something
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+category\.php\?category=([^&\s]+) [NC]
RewriteRule ^ /%1? [R=302,L]
# Internally forward /something to /category.php?category=something
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)/?$ /category.php?category=$1 [QSA,NC,L]
期待どおりに動作することを確認したら、 に変わりR=302
ますR=301
。