.htaccess
まず、書き換える前に次の行を忘れずに入力してください。
RewriteEngine on
URL を変更せずに存在するかどうかをsite.com/something
表示するには、次のようにします。site.com/something.php
RewriteCond %{REQUEST_URI}.php -f
RewriteRule .* %{REQUEST_URI}.php
[file you requested].php が存在する場合は表示されますが、入力した同じ URL が表示されます。php ファイルが存在しない場合でも、必要に応じて 404 が表示されます。(それ-f
が目的です。)
GET リクエストを完全に隠す方法はありません。GET リクエストを取り除くことはできますが、スクリプトでも使用できなくなり、意味がありません。ただし、見栄えを良くすることはできます。たとえばsite.com/userpage/item/30
、 のコンテンツを表示する場合はsite.com/userpage.php?item=30
、次のようにします。
RewriteRule ^/userpage/item/(.*)$ userpage.php?item=$1
次のようなルールを使用して、任意の GET 値で機能させることもできます。
RewriteRule ^/userpage/(.*)/(.*)$ userpage.php?$1=$2
site.com/userpage.php?query=yes
これにより、代わりにwith でアクセスできますsite.com/userpage/query/yes
。それはあなたができる最善のことです。GET 値は何らかの方法で URL から取得する必要があるため、入力を完全に隠したい場合は、代わりに POST を使用する必要があります。