Могу ли я сделать это с помощью файла .htaccess? - PullRequest
0 голосов
/ 19 октября 2011

Я использую хост, который позволяет размещать только файлы 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 Ответ

0 голосов
/ 19 октября 2011
RewriteEngine On
RewriteRule ^(.+?)$ cgi/$1 [QSA,L]

Я не проверял это, но что-то похожее на это должно работать. Вам также может понадобиться добавить RewriteCond, который проверяет, что входящие запросы не для /cgi/..

...