Используйте .htacess для перенаправления всех файлов в определенной папке в скрипт - PullRequest
0 голосов
/ 22 августа 2011

Я хочу использовать htacess для перенаправления следующих примеров:

www.site.com/downloads/file1.txt
www.site.com/downloads/folder/file2.txt

на

www.site.com/download?file=file1.txt
www.site.com/download?file=folder/file2.txt

Игнорировать наличие косой черты в строке запроса ради примера.

Ответы [ 2 ]

1 голос
/ 22 августа 2011

Для этого вы можете использовать mod_rewrite .

RewriteEngine on
RewriteRule "^/downloads/(.+)" "/download?file=$1" [R=301,L]

Установите правильный код состояния HTTP для действия перезаписи (301 - постоянно, 307 - временно).

Поскольку я никогда не использовал mod_rewrite в .htacces, вам может понадобиться попробовать еще несколько комбинаций. Возможно, имя каталога необходимо удалить из регулярного выражения, поскольку оно уже ясно из контекста .htaccess - руководство должно помочь.

0 голосов
/ 22 августа 2011
RewriteEngine on
RewriteRule ^/downloads/(.*) /download?file=$1 [R=301,L]

301 - Moved Permanently
The resource has permanently moved to a different URI. 

Ресурсы:

Коды состояния HTTP
http://www.helpwithpcs.com/courses/html/html_http_status_codes.htm#300

Apache mod_rewrite
http://httpd.apache.org/docs/current/mod/mod_rewrite.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...