Htaccess RewriteRule изменить URL субдомена

я в этой ситуации

http://example.com/sub-domain/

и я хочу иметь это

http://example.com/sub/domain/

не теряя в SEO, как правильно RewriteRule?

На данный момент это мой .htaccess файл в поддомене DOCUMENT_ROOT

Options -Indexes +FollowSymLinks
RewriteEngine On
RewriteBase /sub-domain/
# exclude any paths that are not codeigniter-app related
RewriteCond %{REQUEST_URI} !^/server-status
RewriteCond %{REQUEST_URI} !^/server-info
RewriteCond %{REQUEST_URI} !^/docs
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
<IfModule mod_php5.c>
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
# the following is for rewritting under FastCGI
<IfModule !mod_php5.c>
RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>

ИЗМЕНИТЬ

В моем корневом домене я установил Wordpress, и это .htaccess.

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule .* - [L]
RewriteBase /
RewriteRule ^index\.php$ - [L]
# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [QSA,L]
</IfModule>

person NineCattoRules    schedule 26.07.2015    source источник


Ответы (1)


Оставьте /sub-domain/.htaccess как есть. И иметь это правило в корневом .htaccess (уровнем выше /sub-domain/):

RewriteEngine On

RewriteCond %{THE_REQUEST} /sub-domain(\S*)\s [NC]
RewriteRule ^ /sub/domain%1? [R=301,L,NE]

RewriteRule ^sub/domain(/.*)?$ sub-domain$1 [L,NC]
person anubhava    schedule 26.07.2015
comment
Спасибо! Я пытался поместить его перед циклом WordPress в основной каталог, однако это не работает, я получаю 404, пытающийся получить доступ напрямую. Я проверил журнал ошибок apache, и сообщений нет. - person NineCattoRules; 26.07.2015
comment
Вы никогда ничего не говорили о WP. Работает ли WP в корневом домене? - person anubhava; 26.07.2015
comment
да извините за это я думал это можно сделать без правки основного htaccess - person NineCattoRules; 26.07.2015
comment
На поддомене также работает WP? - person anubhava; 26.07.2015
comment
хорошо для тестирования попробуйте RewriteRule ^sub/domain(/.*)?$ sub-domain$1 [L,NC,R] в корне .htaccess чуть ниже RewriteEngine On - person anubhava; 26.07.2015
comment
На какой URL-адрес он был перенаправлен и какой исходный URL-адрес? - person anubhava; 26.07.2015
comment
Давайте продолжим обсуждение в чате. - person NineCattoRules; 26.07.2015