私の質問をもう一度聞いて、私ができる限りそれを説明しようとしています。localhostでリダイレクトせずにhtaccess内のURLを書き換えるには?
私はWindows上でWAMPを実行しています10. Apacheバージョン2.4.18。私のプロジェクトは、hoidja.ee
というwww
というフォルダにあります。 mod_rewrite
が有効になっている場合は、AllowOverride
がすべてに設定されます。
このフォルダ内には.htaccess
というファイルがありますが、リダイレクトなしで書き直しを実行しようとしていて、全く動作しません。 index.php
を/home/
に書き換えることができるので、私は.htaccess
ファイルが動作していることを知っています。
私はすべてのユーザーリストを含むページを持っています。あなたは、ユーザーをクリックすることができ、そしてそれは、URLが表示されます:
http://localhost/Hoidja.ee/hoidja.php?user_id=94&username=John
私はこれが表示したいと思いどのように任意のリダイレクトなし
http://localhost/Hoidja.ee/user/John
です。
は、私が試してみました何:
#tried first with only user_id
RewriteCond %{QUERY_STRING} ^user_id=([A-Za-z0-9-]+)$
RewriteRule ^hoidja\.php$ /user/%1? [L]
これは私に/ユーザー/ 94が存在しない404を与えました。
RewriteRule ^user/([0-9]+)/([A-Za-z0-9-]+)/?$ hoidja.php?user_id=$1&username=$2 [QSA]
これは視覚的には何もしません。手動でURLにhttp://localhost/Hoidja.ee/user/94/John
と入力すると、そのページに移動してユーザーデータが表示されますが、元のURLを入力すると書き換えられません。私は<base>
も使っています。
私はすべての可能な方法を試しましたが、何も動作していないようです。私はどのようにURLを書き直すことができますか?その後、
、それだけで物事をより複雑で曖昧になります...本当です – arkascha
@arkascha。 user_idを使用してデータベースからデータを取得していますが、URLにユーザ名を表示したいのですが、 – raqulka
名前を表示するのに何もしません。しかし、あなたはそれを書き直す必要はありませんか? – arkascha