Я копался в поисках Google и StackOverflow, пытаясь разобраться в своей проблеме, пробуя бесчисленное количество решений, но ничего не помогло полностью.
Я хочу переместить корневой каталог основного домена на моем сервере в подкаталог. То, что у меня есть в настоящее время для пути к моему корневому веб-серверу:
/home/user/public_html/MyWebFilesHere
То, что я ищу:
/home/user/public_html/subdir/MyWebfilesHere
Когда я перехожу на mydomain.com, не должно быть видимой разницы (т.е. "subdir" не виден после перенаправить).
К сожалению, я ограничен этим только с файлом .htaccess, так как я использую общий хостинг и не имею доступа к файлам конфигурации Apache и т.п. : (
То, что у меня сейчас в папке.htaccess в public_html:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www\.)?mydomain\.com$
RewriteCond %{REQUEST_URI} !^/subdir/
RewriteRule ^(.*)$ /subdir/$1 [L]
Это успешно перенаправляет все запросы в подкаталог, однако есть действительно странная проблема. Если я перейду к
mydomain.com/Contact/
, он будет отлично работать, перенаправив запрос на путь / подкаталог / Контакт /, но оставив адресную строку в покое. Если я перейду к
mydomain.com/Contact
(обратите внимание на отсутствие завершающего символа '/'), то в адресной строке отображается
mydomain.com/subdir/Contact/
, что мне не нужно, поскольку отображается «subdir».
В качестве рабочего примера на моем настоящем сайте попробуйте просмотреть
colincwilliams.com/Contact/
по сравнению с
colincwilliams.com/Contact
. У вас есть какие-нибудь идеи, как заставить эту работу работать незаметно, как с косой чертой в конце, так и без нее?