Wordpressのカスタムmod_rewrite - totalnoob?

私は私のWordPressのインストールのためのカスタムmod_rewriteルールを作ろうとしている、私はすでに私のページ構造のために私が保持したいカスタムルールを持っている。

The new custom rule i'd like to make is whenever there's a get variable like: www.mysite.com/?profile=username

I want to make it look like: www.mysite.com/username

これは私の現在の.htaccessファイルです:

# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress

私はphp.netと一般的にmodリライティングについての多くのチュートリアルを見てきましたが、特にWordPressのために、すべてがちょうど私の頭の上にまっすぐに行く、私はそれを理解していません。 誰かが私に本当に感謝してこれでいくつかの進歩を得るためにいくつかの助けを与えることができる場合、私は本当にmod_rewriteの周りに頭を浮かべたい。

私は新しいRewriteRuleを作成する必要があると仮定していますが、それは私が得る限りです。

ありがとう フランク

0
うん、あなたの権利私はちょっと混乱していた、私はゆっくりとこの周りに私の頭を得ているが、それは私が言っていたことだ。
追加された 著者 frankstuner,
mysite.com/username のURLがバックエンドの mysite.com/?profile=username であることを意味しますか?
追加された 著者 Mel Boyce,

1 答え

達成したいことを達成することは、難しいことではありません。 .htaccessはURLのUSERNAME部分が実際にユーザー名かどうかを知る方法がないので、着信要求を解析するために追加のPHPファイルが必要です。

私が言及したPHPファイルは、データベースからユーザテーブルを読み込み、$ _GET ['profile']をエントリと比較し、一致すると/ profile = USERNAMEに書き換えます

一致するものがなければ、単にindex.phpに渡します。

しかし、ここでははるかに簡単な解決策があります。これはあなたが望むものをたくさん保存します。

RewriteRule ^profile/([^/]+)$ ?profile=$1 [L]

What this does is rewrite from /profile/username to /?profile=username

それはあなたが探しているものではありませんが、実装する方がはるかに簡単です。このルールは.htaccessファイルの RewriteRule ^ index \ .php $ - [L] の直下に移動します。

ご不明な点がございましたら、ここで何が起こっているのかをお気軽にお聞かせください。

0
追加された
おそらくあなたは?profile = $ 1を正しく扱っていないからでしょう。あなたは、私が述べたような追加のファイルとWordpressのindex.phpファイルのいくつかのテストが必要になります。
追加された 著者 Dan Ambrisco,
ちょっと@dambriscoあなたの返信ありがとう
追加された 著者 frankstuner,
私はちょうど私の.htaccessに更新行を入れたが、私はURLを試みたときに404'd。/profile/username〜/?profile = usernameは本質的に私が後にしているものです。
追加された 著者 frankstuner,