2 つの質問があります。
私は現在、自分のウェブサイトを提供するために wamp サーバーを使用しています。
ホームページは「localhost/prefix/index.php」です
質問1:
を。私はそれが欲しいので、私のホームページは次のとおりです。
'localhost/prefix/'
それ以外の
'localhost/prefix/index.php
b. 私はそれが欲しいです:
'localhost/prefix/admin/profile.php'
は
'localhost/prefix/admin/profile'
これを行うにはどうすればよいですか (私はグーグルで検索しましたが、構文に非常に混乱しています)?
質問2
次のようなURLがある場合
'localhost/prefix/games?title=hi'
URLが次のようになるようにするにはどうすればよいですか:
'localhost/prefix/games/hi'
前もって感謝します!!本当に迷ってしまいました。
編集::///
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php [R]
私がこれまでに持っているものです..それは何もしません.しかし、誰もがそうすべきだと言います! (ランダムに何かをするとエラーが発生するため、htaccess ファイルが何かを実行しています)。
編集::///
これは、URL から .php と index.php を削除するようです:
RewriteEngine On
RewriteBase /prefix/
# remove .php; use THE_REQUEST to prevent infinite loops
RewriteCond %{THE_REQUEST} ^GET\ (.*)\.php\ HTTP
RewriteRule (.*)\.php$ $1 [R=301]
# remove index
RewriteRule (.*)/index$ $1/ [R=301]
# remove slash if not directory
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} /$
RewriteRule (.*)/ $1 [R=301]
# add .php to access file, but don't redirect
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteCond %{REQUEST_URI} !/$
RewriteRule (.*) $1\.php [L]
問題は、私のプレフィックスベースが機能していないため、最終的に
localhost/something/something
それよりも
localhost/prefix/something/something
何か案は?
編集::///
私が指示しているページがサブフォルダーにある場合、上記のコードが実際に完全に機能することを推測しました。たとえば..これはうまくいきます:
localhost/prefix/admin/dashboard
しかし、これは(ファイルがルートディレクトリにあるため、そうではありません)
localhost/prefix/login.php
それは私をにリダイレクトします
localhost/login
何か案は?
編集::///
動作に問題がある場合。ブラウザを閉じて再起動してください... キャッシュに問題がありました。
上記のコードは .php を削除し、index.php も削除します。