Обновленный ответ
Через некоторое время после размышлений (и тестирования) я нашел альтернативное решение, которое может соответствовать вашим потребностям с обновленным EE.
Предполагается, что ваши правила переписывания выглядят следующим образом:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]
Теперь я предлагаю, чтобы ваша группа шаблонов view
была индексной группой шаблонов.
В вашем шаблоне индекса в группе шаблонов view
может быть следующее:
{exp:channel:entries channel="view_channel" require_entry="yes"}
{if no_results}
{embed="a_template_group/my_normal_frontpage"}
{/if}
<DOCTYPE html>
<html>
<head>
<title>{title}</title>
</head>
<body>
<h1>{title}</h1>
</body>
</html>
{/exp:channel:entries}
Это позволяет вам, без добавления других правил перезаписи, заставить ваших посетителей перейти на http://example.org/phone, и шаблон представления / индекса попытается найти запись с идентификатором записи, помеченным как «телефон». Если эта запись не может быть найдена (часть {if no_results}
), вставьте другой шаблон. В этом случае я бы предположил, что вы хотели бы показать какую-то главную страницу.
Это также позволяет вам в группе шаблонов view
создавать обычные шаблоны, такие как view/create_entry
, которые будут отображаться при переходе к http://example.org/create_entry
Это должно работать - и его легко настроить в соответствии с вашими потребностями.