С тех пор, как я впервые столкнулся с этой проблемой, она несколько расширилась, так как оказалось, что это также влияет на перезапись URI страниц. Таким образом, я переписал свой оригинальный пост, чтобы отразить это.
Недавно я обновил свой сайт с EE 1 до EE 2, и, похоже, это привело к тому, что некоторые из моих переписей .htacess для изменения структуры URL больше не работают.
Моя исходная установка была такой:
RewriteRule ^/?((403|404|About|Chat|Contact|Copyright|Search)(/.*)?)$ /Westeros/$1 [L]
RewriteRule ^/?((ASoIaF|Digest|Images|Login|Store|Updates|Westeros|member)(/.*)?)$ /index.php/$1 [L]
Я также пробовал это:
RewriteRule ^/?((403|404|About|Chat|Contact|Copyright|Search)(/.*)?)$ /index.php/Westeros/$1 [L]
RewriteRule ^/?((ASoIaF|Digest|Images|Login|Store|Updates|member)(/.*)?)$ /index.php/$1 [L]
В обоих этих сценариях происходит несколько разных вещей, и некоторые из них работают, а некоторые нет.
1) http://www.westeros.org/Updates/ работает нормально. Обновления — это группа шаблонов. 2) http://www.westeros.org/Search/ не работает. Поиск — это шаблон в группе шаблонов Вестероса. Он работает, чтобы получить к нему доступ как http://www.westeros.org/index.php/Westeros/Search/. 3) http://www.westeros.org/About/ не работает. About — это страница с URI, установленным на /Westeros/About/. Он работает, чтобы получить к нему доступ как http://www.westeros.org/index.php/Westeros/About/.
Я предполагаю, что между EE 1 и EE 2 произошли некоторые внутренние изменения в обработке URL-адресов, но я не совсем понимаю, как это могло предотвратить эти перезаписи. Разве переписывание не является первым, что делается, поэтому разве EE не должен видеть переписанные URL-адреса и ничего больше? Я протестировал с http://htaccess.madewithlove.be/, и .htaccess правильно переписывает URL-адреса. Но EE, кажется, просто не признает этого.
Однако, судя по предложению, размещенному в комментарии, использовать метод, предоставленный Pixel & Tonic, запись группы шаблонов все еще работает в EE 2. Я просто не могу понять, почему моя установка не работает, если он работает, я также не могу понять, как приспособить его пример к моей ситуации.