Назад | Перейти на главную страницу

htaccess перенаправляет весь URL-адрес как параметр

Мы создали загрузчик iframe index5.php, который покажет два окна iframe, iframe1 и iframe2. Содержимое iframe2 можно установить, обратившись к index5.php? Url = iframe2url. Итак, собираемся

domain/index5.php?url=www.serverfault.com 

загрузит serverfault в один iframe, а наш код - в другой. Мы хотим иметь возможность использовать это только в нашем собственном домене для предотвращения XSS, поэтому мы убедились, что index5.php разрешает только наш домен.

Кроме того, мы хотим перенаправить все запросы к нашему сайту WordPress с

domain/page 

к

domain/index5.php?url=http://domain/page

Однако, если мы используем

RewriteCond %{REQUEST_URI} !^/index5\.php$
RewriteCond %{HTTP_HOST} ^domain$
RewriteRule ^(.*)$ http://domain/index5.php?url=http://domain/$1 [R=301,L]

есть бесконечный редирект. Как мы можем этого предотвратить?

Когда вы выполняете перезапись в .htaccess file (в отличие от конфигурации apache), префикс пути к каталогу, содержащему файл, удаляется в соответствии с документация apache.

Это означает, что условие перезаписи не должно содержать ведущего /. Вместо этого следует читать

RewriteCond %{REQUEST_URI} !^index5\.php$