#.htaccess #url #rewrite
#.htaccess #url #переписать
Вопрос:
Я использую хост, который позволяет размещать файлы PHP только в поддиректоре с именем /cgi/
Но теперь все мои ссылки /cgi/..
Извините за глупость, но могу ли я переписать свой файл .htaccess, чтобы сайт считал, что /cgi/
это корень, чтобы все мои ссылки и сам сайт отображались в корне?
Это то, что у меня есть, но это вызывает ошибку 500 :
# Turn on rewrites.
RewriteEngine on
# Only apply to URLs on this domain
RewriteCond %{HTTP_HOST} ^(www.)?thegrancenturions.com$
# Only apply to URLs that aren't already under folder.
RewriteCond %{REQUEST_URI} !^/cgi/
# Don't apply to URLs that go to existing files or folders.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Rewrite all those to insert /folder.
RewriteRule ^(.*)$ /cgi/$1
# Also redirect the root folder.
RewriteCond %{HTTP_HOST} ^(www.)?thegrancenturions.com$
RewriteRule ^(/)?$ cgi/index.php [L]
Комментарии:
1. Разрешает ли ваш хост перезапись вообще? Если они заставляют вас вставлять PHP,
/cgi/
я был бы удивлен, если бы они позволили вам многое переопределить.htaccess
…2. Да, они сказали, что поместят HTML-файл в корень и перенаправят его..
Ответ №1:
RewriteEngine On
RewriteRule ^(. ?)$ cgi/$1 [QSA,L]
Я не тестировал это, но что-то похожее на это должно работать. Вам также может потребоваться добавить a RewriteCond
, который проверяет, что входящие запросы не для /cgi/..