我有一個重定向器,它將URL中/之後的所有內容作爲參數提供給隱藏的index.php(然後將用戶使用js的window.location重定向到另一個域,主機不支持.htaccess的外部重定向),但是我丟失了代碼。每個文件(index.php,.htaccess)位於/ storage文件夾中。
的是的.htaccess這樣的事情,但我不能弄明白:使用RewriteRule給index.php提供參數
RewriteRule ^(.*) /?$1 [R,L]
這一個正在重定向的無限循環。
它作爲輸入http://storage.mysite.com/file.png
將打開http://storage.mysite.com/?file.png
。
我試圖避免使用在.htaccess直接調用的index.php,因爲它與這個重定向:
<?php
echo "
<script>
window.location='http://otherdomain.com/12345678".$_SERVER['REQUEST_URI']."'
</script>
"; // note there's no slash after the number, the REQUEST_URI had it
?>
什麼是做到這一點的正確方法?
謝謝,現在試試這個,而不是循環它直接到404,並沒有做任何重定向。如果這就是你的意圖,我完全用你的版本替換了htaccess文件中的先前規則。至少給'storage.mysite.com/?file.png'正確的去index.php,它會重定向。 – Exec
因此要求'storage.mysite.com/file.png'給出404? 您在.htaccess中有任何其他規則嗎? – Hamish
的的.htaccess包含此: '的RewriteCond%{REQUEST_URI} ^/index.php文件 重寫規則^(+)$的index.php 的ErrorDocument 404/404.php' 我已經添加了404行,以便它不!不會重定向到主機自己的404頁面。 – Exec