1

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 も削除します。

4

0 に答える 0