質問

もっと探して ユーザーフレンドリーなURL, 、.htaccessのみをエレガントに使用して、次の両方を達成するにはどうすればよいですか?

/de/somepage
行きます /somepage?ln=de

/zh-cn/somepage#7
行きます /somepage?ln=zh-CN#7

まとめ:
/[language]/[pagefilenamewithoutextension] [オプションのアンカー#] [0-9からの数

ロードする必要があります(URLを変更せずに)
/[pagefilenamewithoutextension]?ln = [言語] [オプションのアンカー#] [0-9からの数

更新、ソリューションを提供した後:1。例外 /ZH-CN /一部のページは /cn /somepage 2. php生成されたサムネイルは、もうロードしないでください。
IMG src = "imgcpu?src = someimage.jpg&w = 25&h = 25&c = f&f = bw"

役に立ちましたか?

解決

RewriteRule ^([a-z][a-z](-[A-Z][A-Z])?)/(.*) /$3?ln=$1 [L]

断片のために何もする必要はありません(例: #7)。彼らはサーバーに送信されません。それらは完全にブラウザによって処理されます。

アップデート:もし、あんたが 本当 Zh-CNを特別なケースとして扱いたい、あなたは次のようなことをすることができます:

RewriteRule ^zh-CN/(.*) /$1?ln=zh-CN [L]
RewriteRule ^cn/(.*) /$1?ln=zh-CN [L]
RewriteRule ^([a-z][a-z])/(.*) /$2?ln=$1 [L]

他のヒント

私は次のことを提案します -

RewriteEngine on
RewriteRule ^([a-z][a-z])/([a-zA-Z]+) /$2?ln=$1
RewriteRule ^([a-z][a-z])/([a-zA-Z]+#([0-9])+) /$2?ln=$1$3

最初のルールは、 /de /somepageのようなURLを処理します。言語は正確に2文字の長さである必要があり、z文字からz文字のみを含める必要があります。

2番目のルールは、 /uk /somepage#7のようなURLを処理します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top