2013-07-19 2 views
0

Необходимости внутренне переписать test.example.com/images/* TO example.com/images/*внутренне переписать поддомены изображений основных образами

местоположения test.example.com является/sub_ds/тест/в файловая структура.

Надеюсь, что имеет смысл. В настоящий момент ссылка на /images/test.jpg в поддомене ищет файл на test.example.com/images/test.jpg, которого, очевидно, нет, поэтому я ищу переписать.

ДОБАВЛЕНО:

Текущий htacess:

Options + SymLinksIfOwnerMatch

# BEGIN rewrites 
RewriteEngine On 

# Externally redirect client requests for example.com/sub_ds/<subdomain>/<URLpath> to <subdomain>.example.com/<URLpath> 
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /sub_ds/ 
RewriteRule ^sub_ds/([^/]+)/(.*)$ http://$1.example.com/$2 [R=301,L] 

# Externally redirect client requests for www.[subdomain].example.com/sub_ds/<subdomain>/<URLpath> to <subdomain>.example.com/<URLpath> 
RewriteCond %{HTTP_HOST} ^www\.([a-z0-9-]+)\.example\.com 
RewriteRule ^sub_ds/([^/]+)/(.*)$ http://$1.example.com/$2 [R=301,L] 

# Externally redirect 'secure' subdomain to https 
RewriteCond %{HTTPS} off 
RewriteCond %{HTTP_HOST} ^secure\. 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 

# Externally redirect non 'secure' subdomain to http 
RewriteCond %{HTTPS} on 
RewriteCond %{HTTP_HOST} !^secure\. 
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 

# Externally redirect index.(php|html?) in any location, preserving parameters, to location root 
RewriteCond %{THE_REQUEST} !^[A-Z]{3,9}\ /phpsite/ 
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /(([^/]*/)*)index\.(php|html?)(\?[^\ ]*)?\ HTTP 
RewriteRule .* http://%{HTTP_HOST}/%1 [R=301,L] 

# BEGIN non-www to www 
RewriteCond %{HTTP_HOST} !^(([a-z0-9][-a-z0-9]+)\.example\.com)?$ 
RewriteRule (.*) http://www.example.com/$1 [R=301,L] 

# Internally rewrite <subdomain>.example.com/<URLpath> to example.com/sub_ds/<subdomain/<URLpath> 
RewriteCond $1 !^sub_ds/ 
RewriteCond %{HTTP_HOST} !^www\.example\.com 
RewriteCond %{HTTP_HOST} ^([^.]+)\.example\.com 
RewriteRule (.*) /sub_ds/%1/$1 [L] 

Гол ... сделать test.example.com/images/* пункт example.com/images/ *

Субдомены физически расположены в виде подпапок в корне (как правило, с большинством настроек). Таким образом, тест подобласть физически находятся в/sub_ds/тесте/

ответ

0

Попробуйте этот код:

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^test.example.com$ 
RewriteRule ^images/(.*)$ http://example.com/sub_ds/test/images/$1 

Второй проверку связи, если хост точно example.com (^ означает начало имени хоста и $ окончание). Фишированная строка проверяет, начинается ли URL с изображений/для перезаписи.

+0

Невозможно, чтобы это сработало ... это сделало бы внутреннюю переписку для всех изображений в основном домене в поддомен. Мне нужно внутренне переписать изображения для субдоменов в основном. Например, test.example.com/images/test.jpg должен использовать файл в example.com/images/test.jpg – user756659

+0

Хорошо, я отредактировал свой ответ. Я неправильно понял, что сожалею. –

+0

Что я хочу сделать, это использовать ресурсы (изображения, css, js и т. Д.) На субдоменах из основного домена, чтобы они были в одном месте. Если я свяжусь с использованием относительного корня, тогда проектирование страниц будет по-прежнему действовать нормально (я могу видеть изображения, например, при проектировании), и субдомены все еще работают и кажутся всем находящимися в их субдоменном местоположении. – user756659

Смежные вопросы