我到处搜索这个答案,并且已发布的答案不符合我的具体情况,因为它给我404错误,我不知道为什么。
我正在尝试重写此内容:/c.php?url=http://www.example.com
进入:/c/http://www.example.com
现在我在我的mod_rewrite中有这个:
RewriteEngine on
RewriteRule ^c/(.*)(/)?$ /c.php?url=$1
但是当它重写我试图发送到PHP脚本的url时,它会写一个“http:/example.com
”,带一个斜杠而不是双斜杠。
我已经看到很多涉及THE_REQUEST规则的事情,但是当我尝试将它们应用到我的htaccess文件时,它们会失败。我不确定出了什么问题,我们非常感谢任何帮助。
答案 0 :(得分:2)
Apache删除路径中的多个斜杠。正如您已经提到过的,您可以通过检查 THE_REQUEST 中的请求行来解决此问题:
RewriteCond %{THE_REQUEST} ^[A-Z]+\ /c/([^?\ ]+)/?
RewriteRule ^c/ /c.php?url=%1