skeletor Опубликовано 19 декабря, 2013 · Жалоба Есть 2 сайта в одной папке: старый и новый. Так же есть 2 индексные странички: index.php (для нового сайта, соответственно отдаётся по дефолту) и index2.php (индексная страничка от старого сайта). Нужно что бы URL http://site[dot]com/posts отдавался через старую индексную страничку index2.php. Собственно вся сложность в том, что /posts - не является ни папкой, ни даже rewrit'ом из htaccess, а жёстко зашита в коде сайта. То есть что-то наподобии такого: http://site[dot]com/posts -> http://site[dot]com/index2.php/posts Не могу даже понять с какой стороны подступиться. Заранее спасибо. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
MMM Опубликовано 19 декабря, 2013 · Жалоба Раньше был rewrite на index.php ? Т.е. неплохо бы увидеть сначала набор правил для старого сайта Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
skeletor Опубликовано 19 декабря, 2013 · Жалоба Что значит был? Ниже htaccess от старого сайта, для которого работал нормаль URL /posts SetEnv KOHANA_ENV PRODUCTION #SetEnv KOHANA_ENV DEVELOPMENT # Turn on URL rewriting RewriteEngine On # Installation directory RewriteBase / # Protect hidden files from being viewed <Files .*> Order Deny,Allow Deny From All </Files> # Assets versioning RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.+)\.(\d{9,11})\.(js|css|png|jpg|gif)$ $1.$3 [L] # add trailing slash to everything except article and CMS links RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} !^/admin.* RewriteCond %{REQUEST_URI} !^/\d{4}\-\d{2}/.* RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,7}|/|#(.*))$ RewriteRule ^(.*)$ /$1/ [R=301,L] # remove trailing slash from article links RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} ^/\d{4}\-\d{2}/\d.* RewriteRule ^(.*)/$ /$1 [R=301,L] # Protect application and system files from being viewed RewriteRule ^(?:application|modules|system)\b.* index.php/$0 [L] # Allow any files or directories that exist to be displayed directly RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d # Rewrite all other URLs to index.php/URL RewriteRule .* index.php/$0 [PT] <IfModule mod_expires.c> Header set cache-control: public ExpiresActive on # Perhaps better to whitelist expires rules? Perhaps. ExpiresDefault "access plus 1 month" # cache.manifest needs re-reqeusts in FF 3.6 (thx Remy ~Introducing HTML5) ExpiresByType text/cache-manifest "access plus 0 seconds" # your document html ExpiresByType text/html "access" # rss feed ExpiresByType application/rss+xml "access plus 1 hour" ExpiresByType text/xml "access plus 1 hour" # favicon (cannot be renamed) ExpiresByType image/vnd.microsoft.icon "access plus 1 week" ExpiresByType image/x-icon "access plus 1 month" # media: images, video, audio ExpiresByType image/png "access plus 1 month" ExpiresByType image/jpg "access plus 1 month" ExpiresByType image/jpeg "access plus 1 month" ExpiresByType video/ogg "access plus 1 month" ExpiresByType audio/ogg "access plus 1 month" ExpiresByType video/mp4 "access plus 1 month" # webfonts ExpiresByType font/ttf "access plus 1 month" ExpiresByType font/woff "access plus 1 month" ExpiresByType image/svg+xml "access plus 1 month" # css and javascript ExpiresByType text/css "access plus 1 month" ExpiresByType application/javascript "access plus 1 month" ExpiresByType text/javascript "access plus 1 month" </IfModule> # Since we're sending far-future expires, we don't need ETags for # static content. # developer.yahoo.com/performance/rules.html#etags FileETag None Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
belial Опубликовано 22 декабря, 2013 (изменено) · Жалоба перед этим RewriteRule .* index.php/$0 [PT] прописываем условие для posts, чтото вроде(я могу чуть в синтаксие ошибаться): RewriteRule ^/posts.* index2.php/$0 [PT] Добавлено: выставите там ещё флаг L - чтобы после выполнения правило процесс не продолжил выполнять правило с index.php Изменено 23 декабря, 2013 пользователем belial Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
skeletor Опубликовано 24 декабря, 2013 · Жалоба Пока искал, оказалось, что сайт в очередной раз переехал обратно на старый движок и данные реврайты уже не нужны. Обидно (( Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
terrible Опубликовано 25 декабря, 2013 · Жалоба Я бы сделал примерно такой индексный файл: if (preg_match('/new-domen.ru/',$_SERVER['HTTP_HOST'])) include_once('index.php'); else include_once('index2.php'); Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
skeletor Опубликовано 26 декабря, 2013 · Жалоба Идея хорошая, нужно будет при случае потестить. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...