ドメインに適切な mod_rewrite ルールを設定するのに苦労しています。私は正規表現のような表現が得意ではありませんでしたが、ドキュメント化されたすべてのチュートリアルを自分で使用できませんでした。
ドメイン: example.org
私の現在のルールは次のとおりです。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)/?$ /?page=$1
これはちょっとうまくいきます(「name」変数をページからスラッシュを取り除くことで取得できるためです。しかし、これを行うにはもっと素敵で端的な方法があると確信しています。
望ましい mod_rewrite の動作:
- example.org -> index.php? サブ = (空)
- サブドメイン.example.org -> index.php?sub=サブドメイン
- subdomain.example.org/ something -> index.php?sub=subdomain& page=something
- subdomain.example.org/ something/ -> index.php?sub=subdomain& page=something
- subdomain.example.org/something/ extra -> index.php?sub=subdomain&page=something* &name=extra *
- subdomain.example.org/something/ extra/ -> index.php?sub=subdomain&page=something* &name=extra *
- URL から除外された www (www.subdomain -> subdomain)
(スラッシュに注意してください)
「サブドメイン」部分はサーバー (*.example.org) のワイルドカードであるため、いくつかの名前をルールから除外したいと思います。例: 「content.example.org」は書き換えてはいけませんが、通常のフォルダーを参照する必要があります。
誰かルールコードを手伝ってくれませんか? :-)
よろしく、アンドリュー