1

ユーザーフレンドリな URLはハイフンで囲む必要があります。次に例を示します。

http://example.com/some-category/some-file

ただし、継承されたフォルダー構造はパスカルケースであるため、書き換えられた URLは次のようになります。

http://example.com/SomeCategory/SomeFile.php

注:カテゴリまたはファイル名の単語数はさまざまであるため、そのような一貫性は期待しないでください。元。http://example.com/some-long-category/file.

Apacheのmod_rewriteを使用して、カテゴリとファイルの一般的な書き換え条件とルールのペアを使用して、これを行う方法を考えています。

ここでルールをテストできます。Apache サーバーをセットアップする必要はありません。

4

2 に答える 2

1

この回答が書かれてから質問が更新され、一貫した形式ではないことを最初に述べていないことに注意してください-この回答はword-word / word-wordをカバーしています

この部分は、ルート レベルまたは以下のメイン サーバー構成にある必要があります<VirtualHost>

RewriteEngine on
RewriteMap uc int:toupper

次に、これをあなたに.htaccess

RewriteEngine on
RewriteRule ([a-z])([a-z]*)-([a-z])([a-z]*)/([a-z])([a-z]*)-([a-z])([a-z]*) %{uc:$1}$2%{uc:$3}$4/%{uc:$5}$6%{uc:$7}$8.php

最初のバージョンでは書き換えエンジンをオンにする必要はないと思いますが、念のために入れておきました。テストはあなたに任せます。私は十分以上の仕事をしました!最初の部分のセットアップが必要なため、そこでテストすることはできません。

4 つの単語位置のいずれかにある 1 文字をリダイレクトします。すべてが同じ形式で、a から z を使用する 2 つの単語が 1 つのハイフンで区切られていると仮定します。

メイン サーバーの設定にアクセスできない場合は、代わりにスクリプトを実行してファイルの名前を変更し、少なくとも名前をすべて小文字にすることをお勧めします。なしでは不可能でありRewriteMap、それはメイン構成に入れる必要があります。

参照:

于 2017-01-11T02:49:11.000 に答える