次のような着信リンクを変換するために.htaccessファイルを設定しようとしています。
http://domain.com/root/TopNav/SubNav/SEO-friendly-file-name-p#
これに:
http://domain.com/root/index.php?t=TopNav&s=SubNav&l=SEO-friendly-file-name&p=#
ここで、p#はページIDであり、TopNav/SubNavはファイルへのナビゲーションメニューパスを表します。
.phpの後に引数がある場合を除いて、すべての場合に機能させることができました(modの書き換えは行いますが、パラメーターは失われます)。もともと、スクリプトで使用できるように.htaccessでURL文字列を解析することを望んでいましたが、この時点で、着信URLを取得して文字列としてroot/にダンプするソリューションに満足しています。 index.php。
これが私が現在.htaccessに持っているものです:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^(.*)/(.*)\.php index.php?s=$1&p=$2 [L]
RewriteRule ^(.*)/ index.php?p=$1&s=$1 [L]
</IfModule>
ErrorDocument 404 /404.php
私が間違っているかもしれないことについて何か考えはありますか?これを行うためのより良い方法の提案はありますか?
ありがとう
**誰かが[L]を[L、QSA]に変更することを提案しましたが、それはうまくいったようです。ありがとう、それを提案した人は誰でも...