2015-01-16 3 views
1
<Files ~ "^\.(htaccess|htpasswd)$"> 
deny from all 
</Files> 
AddType application/x-httpd-php .htm .xml .rss 
Options Indexes 
RewriteEngine on 
RewriteCond %{HTTP_HOST} !^www\. 
RewriteCond %{REQUEST_URI} !index\.php 
RewriteCond %{HTTP_HOST} ^(.+?)\.mysite\.net$ 
RewriteRule .* /index.php?sitename=%1 [L] 

Options +FollowSymLinks 

Таковы мои файлы htaccess. Я хочу, чтобы все subdomain.mysite.com перенаправляли мой индексный файл с именем субдомена, поэтому я могу показать соответствующий сайт. Thats работает нормально, до сих пор ...Правило htaccess для перенаправления из поддоменов, но сохранение некоторых файлов

Моя проблема в том, что мне теперь нужно получить доступ, например, к www.mysite.com/script.php, и я получаю ошибку 500. htaccess очень смущает меня, как бы я этого достиг? Благодаря!

+1

Вам нужно будет читать ваш апач error.log, чтобы увидеть точная ошибка, которую вы получаете за 500 для «www.mysite.com/script.php». URL – anubhava

ответ

1

Вам нужно добавить эти 3 линии к существующим правилам:

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-l 

Так окончательные правила будут выглядеть следующим образом:

<Files ~ "^\.(htaccess|htpasswd)$"> 
deny from all 
</Files> 
AddType application/x-httpd-php .htm .xml .rss 
Options Indexes 
RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-l 
RewriteCond %{HTTP_HOST} !^www\. 
RewriteCond %{REQUEST_URI} !index\.php 
RewriteCond %{HTTP_HOST} ^(.+?)\.mysite\.net$ 
RewriteRule .* /index.php?sitename=%1 [L] 

Options +FollowSymLinks 
+0

Это хороший ответ, но две вещи: существует 100% причин для ** жирного текста **, когда он является единственным текст вне кода в вашем ответе. Кроме того, если образец кода/конфигурации уже предоставлен исходным плакатом, лучше не только сказать, что нужно делать, но и добавить эти настройки в свой код/​​config и добавить это к вашему ответу, как я только что сделал. Правила Apache 'mod_rewrite' могут быть очень запутанными, поэтому предоставление реального примера всегда лучше. – JakeGould

+0

Спасибо за anwser, однако, как только я добавил эти 3 строки, он, кажется, потерял переменную% 1, и я все еще получаю ошибку 500 по прямой ссылке на другой файл. –

Смежные вопросы