2015-11-01 2 views
0

Я играл с файлами .htaccess, и мне было интересно, совершенно из любопытства, можно ли перенаправить доступ к самому файлу .htaccess в другой файл?Перенаправить доступ к .htaccess в другой файл

Пример:

Пользователь переходит на http://www.example.com/.htaccess

Я хочу, чтобы пользователь будет перенаправлен на index.php?foo=bar

Я попытался следующие:

Redirect 301 /.htaccess /index.php?foo=bar 

И

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteRule ^((?s).*)$ index.php?foo=bar [QSA,L] 
</IfModule> 

Эти методы работают над любым другим файлом, но сам файл .htaccess всегда приводит к появлению страницы 403 Forbidden.

Возможно ли это? Если нет, то почему?

ответ

1

Если вы заглянете в конфигурационный файл вашего веб-сервера, вы найдете директиву, запрещающую пользователям получать доступ к .htaccess или .htpasswd файлам из браузера. Например, если я открываю мою конфигурацию Apache, расположенный в /etc/apache2/apache.conf я могу обнаружить следующие строки:

# 
# The following lines prevent .htaccess and .htpasswd files from being 
# viewed by Web clients. 
# 
<FilesMatch "^\.ht"> 
    Require all denied 
</FilesMatch> 

Таким образом, вы должны быть в состоянии изменить выше:

Order allow,deny 
Allow from all 

вам также необходимо сделать убедитесь, что у вас есть правильное разрешение файла на файл .htaccess и, наконец, перезапустить сервер с помощью:

sudo service apache2 restart 

конечно делать выше горе uld не будет очень безопасным.

+1

Конечно! Теперь кажется очевидным, что я смотрю на это. –

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