Я пытаюсь найти правильный код mod_rewrite для следующего случая:mod_rewrite на корневой домен
domain.de => www.domain.com/de/
domain.de/... => www.domain.com/...
www.domain.de => www.domain.com/de/
www.domain.de/... => www.domain.com/...
domain.com => www.domain.com/en/
domain.com/... => www.domain.com/...
www.domain.com => www.domain.com/en/
www.domain.com/... => www.domain.com/...
поэтому в основном
- все не-WWW домены должны перенаправить на WWW.
- все окончание uri на .de или .de/должны быть перенаправлены на www.domain. ком/де/
- , но если кто-то вводит что-то после .de /, которые должны быть просто добавлены к www.domain.com/...
Может кто-нибудь придумать умное решение для этого? Я боролся с {REQUEST_URI} и {} REQUEST_FILENAME пытается выяснить, если запрошенный URI заканчивается .de или .de /, но не смогли найти рабочее решение ...
привет гумбо, спасибо! это именно то, что я искал. можете ли вы сказать мне, какая разница между^$ и. в переписывающей? – Frank
'^ $' соответствует только URL-адресу '/' while '.' соответствует любому другому ('/'plus more). Это связано с тем, что, когда mod_rewrite используется в файле .htaccess, префикс пути для каждого каталога удаляется перед тестированием и добавляется после применения правила. И префикс пути корневого каталога - '/'. – Gumbo