0

私は .htaccess または apache の初心者です。それがどのように機能するかわかりません。

私のURLは

http://localhost/category.php?category=something

変数値をcategory.phpの何かとして取得したいが、URLを次のように表示したい

http://localhost/something

どうすればこれを行うことができますか助けてください。

前もって感謝します

4

1 に答える 1

1

最初のルールは醜い 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

于 2013-09-22T21:42:38.930 に答える