В моем каталоге «public_html» У меня есть следующая структура:Root изменить папку (.htaccess)
- root
- index.html
- blog
- index.html
- lab
- index.html
- wp
- (WORDPRESS FILES)
«лаборатория» и «РГ» каталоги просто поддоменов каталоги («http://lab.tomblanchard.co.uk„и“http://wp.tomblanchard.co.uk»), которые работают нормально.
В основном я хочу, чтобы главный домен («http://tomblanchard.co.uk„), чтобы указать на „корень“ без какой-либо фактической переадресации, например, я хочу“http://tomblanchard.co.uk», чтобы указать на „index.html“ файл в «корне ", я хочу« http://tomblanchard.co.uk/blog »указать на файл« index.html »в каталоге« root/blog »и так далее.
я отчасти достигается с помощью следующего кода в моем файле «.htaccess»:
# Add directives
RewriteEngine on
# Remove ".html" extension from URLs
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ $1.html
# Change root directory to "root" folder
Options +FollowSymLinks
RewriteCond %{REQUEST_URI} !(.*)root
RewriteRule ^(.*)$ root/$1 [L]
Единственная проблема заключается в том, что такие вещи, как „http://tomblanchard.co.uk/root/“ и „http://tomblanchard.co.uk/root/blog/“ до сих пор работают, когда на самом деле они не должен» t может быть доступен (404).
Если у кого-нибудь есть идея, как сортировать это или имеет более сильный способ сделать это, будем признательны.
Update
Наконец получил это работает, как я хотел после нескольких часов исследования, я использовал следующее:
# Add directives
RewriteEngine on
# Change root directory to "root" folder
RewriteCond %{THE_REQUEST} ^GET\ /root/
RewriteRule ^root/(.*) /$1 [L,R=301]
RewriteRule !^root/ root%{REQUEST_URI} [L]
Возможно, вместо этого используйте VHosts. – DaGardner
Посмотрите на использование файла http.conf в вашей установке apache. Вы можете настроить vhosts для указания на любой каталог для любого домена –