この書き直しがなぜ言われたことをしないのか理解に苦しんでいます。注: .htaccess ファイルの最初の書き換えは適切に機能するため、ローカル ホストで mod_rewrite を使用しても問題ありません。
次の形式になることがわかっているURIがあります。
http://localhost/managerhub/my-manager.php?i=1&t=dashboard
サイトが公開されたとき:
http://themanagerhub.com/my-manager.php?i=1&t=dashboard
私の .htaccess ファイルは次のように読み取ります。
RewriteEngine On
RewriteRule ^([a-z\-]+)$ $1.php [L]
RewriteRule ^my-manager-([0-9]+)-([a-z]+) my-manager.php?i=$1&t=$2 [PT]
次のようなきれいな URL を実現するには:
http://localhost/managerhub/my-manager-1-dashboard
理想的には、最初のキャプチャ グループ ([0-9]+) は必要ありません。結果として得られるクリーンな URL に「i」の値が必要ないためです。理想的には、次のような ID です。
http://localhost/managerhub/my-manager-dashboard
ただし、これまでのところ、書き換えを試してもまったく動作しませんでした。
- ターゲットの先頭のスラッシュ(必要ではないと思いますが)
- ターゲットの「&」アンパサンドを & を使用するように変更してみました
- [PT] パススルー フラグの削除 [L] フラグの有無にかかわらず置き換え
- ([0-9]+) の代わりに (.*) というパターンで最も「最も」制限の少ない文字クラスを試しました
- ところで、完璧に機能する最初の RewriteRule を「コメントアウト」しました-そのため、面倒なルールを分離して使用します
これらのどれも機能していません - 2番目の書き換えルールはターゲットURLに影響を与えないので、不一致があったかどうかさえわかりません. 私はまだmod_rewriteに慣れていないので、有益な失敗に頼っているので、正規表現が間違っているかどうかを判断できますが、「zilch」が戻ってきたので無視されていると思われます!!
助けていただければ幸いです-おそらく私の愚かさへのポインタが必要です。ありがとう