Моя структура URL в настоящее время выглядит следующим образом:
http://domain.com/folder/filename (ТОК)
Я хочу изменить это, чтобы вместо этого я мог использовать следующий URL:
http://sub.domain.com/filename (NEW)
Таким образом, при доступе к ТЕКУЩЕМУ или НОВОМУ URL-адресу должен загрузиться файл, расположенный по ТЕКУЩЕМУ URL-адресу, но отобразить НОВЫЙ URL-адрес в адресной строке. Он должен применяться только к пути "/ folder /".
sub.domain.com является зеркалом домена.com, т.е. они совместно используют одну файловую систему и корневой каталог.
Это то, что я имею до сих пор:
Options +FollowSymLinks
RewriteBase /
RewriteCond %{HTTP_HOST} ^(www.)?domain.com$ [NC]
RewriteCond %{REQUEST_URI} ^/folder/?(.*)$ [NC]
RewriteRule ^(.*)$ http://sub.domain.com/$1 [R=301,L]
Это работает, но отсутствует правило для удаления "/ folder /" из пути. Я попытался объединить несколько RewriteRule без удачи. Есть идеи? Спасибо.
ОБНОВЛЕНИЕ: Еще раз спасибо @ Гербен - я понимаю, что ваши правила делают сейчас, но второй не работает для меня. Я подозреваю, потому что это противоречит некоторым другим правилам переписывания, в частности тем из WordPress, которые ниже в моем файле .htaccess:
# BEGIN WordPress
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
Из-за этого страница заканчивается циклом перенаправления, т. Е. (Из Chrome):
«Веб-страница http://sub.domain.com/folder/index.php привела к слишком большому количеству перенаправлений». - в то время как URL, к которому я первоначально пытался получить доступ, был, например, http://sub.domain.com/page
Есть идеи?