私はこのようなことをしようとしていますhttp://myweb.com//page
最初のパラメーターが存在しない場合、2 番目のパラメーターのみが処理されます。最初は言語であり、セッションに保存されますが、変更することができます ?lang=en
..
私はこのようなことを試みていましたが、うまくいきません
RewriteRule ^([a-zA-Z_]+)?/([a-zA-Z0-9_-]+)$ index.php?lang=$1&page=$2
私はこのようなことをしようとしていますhttp://myweb.com//page
最初のパラメーターが存在しない場合、2 番目のパラメーターのみが処理されます。最初は言語であり、セッションに保存されますが、変更することができます ?lang=en
..
私はこのようなことを試みていましたが、うまくいきません
RewriteRule ^([a-zA-Z_]+)?/([a-zA-Z0-9_-]+)$ index.php?lang=$1&page=$2
先頭のスラッシュが削除されるため、それらを 2 つの別個のルールにしてみてください。
RewriteRule ^([a-zA-Z_]+)/([a-zA-Z0-9_-]+)$ index.php?lang=$1&page=$2 [L,QSA]
RewriteRule ^([a-zA-Z0-9_-]+)$ index.php?page=$1 [L,QSA]
私が行った以前の言語切り替え可能なサイトでは、URL に常に言語を含めることを選択しました。全体的に実装が簡単で、ユーザーにとって見栄えがよくなりました。
RewriteRule ^$ /en/ [L] #default language
RewriteRule ^([^/]+)/(.+)$ index.php?lang=$1&page=$2 [QSA,NE] # first "slug" is presumed always language the rest is a page identifier
ここで、/en/ に誘導する代わりに、言語を設定せずにユーザーを geoip スクリプトまたは言語コードのユーザー エージェント文字列を切り刻むスクリプトに誘導して、推測をより正確にすることができます。