私は脳の痙攣を患っています。私はhtaccessを使ってページを書き換えていますが、時には渡される変数には変数に/
(スラッシュ)が付きます。時にはスラッシュがあり、時にはそうではありませんが、このすべてが一つの変数として扱われることが非常に重要です。私はstr_replace()
で-
を/
に切り替えて、データベースに電話をかけるために、すべてのページを書き直すのではなく、たとえば:htaccess正規表現に "/"を付ける
http://www.example.com/accounting/finance.htm
Accounting/Finance
は私が必要とする一つの変数.....それは会計上のディレクトリにないし、その後の会計にfinance.htmというページがありますです。これまでのところ私は何かを持っています
RewriteRule ^([A-Za-z]+.*[A-Za-z]*)\.htm$ mypage.php?page=$1 [L,NC]
しかし、それは好きではありません。
誰かが私を助けることができますか?
ありがとうございます。コメントへの
REPLY/
に答える私が探している特定のルールは次のようなもの.....
[文字列の開始] ... 1つの以上の文字であります... [1つ以上の文字が続く可能性があります。] .htm [文字列の終わり]
以下の2つの回答は機能していません...私はそれがディレクトリとして扱い続けていると確信しています。実際の "ファイル名"。
([A-Za-z/]*)\.htm
それは/またはnot-のすべての組み合わせで動作します:できるだけ早く私は前方を削除すると、私は右のあなたを取得する場合、あなたはこの1つだけを必要とする
正規表現上のイム錆びていますが([A-ZA-Z /])のような何かを行うことができますか? –
@DevinM私は[A-Za-z /] +を試してみました。私は[A-Za-z \ /] +と[A-Za-z] + \/* [A-Za-z] + \。htmも試してみました。 – n0nag0n
あなたの例がうまくいかない理由は、 "。*"はURLの最後まで貪欲に食べているので、 ".htm"に一致するものは何も残っていないと思います。 しかし、私はどのURLに一致させたくないのか完全にはっきりしていないので、それ以上に助けてはいけません。このルールが ".htm"で終わるものと一致するようにしますか? – IMSoP