我想创建类似于网站downforeveryoneorjustme.com的功能。他们使用漂亮的URL来获取任何给定网站的URL。我确定他们使用htaccess来做到这一点,但是我使用的方法遇到了问题。
这是我用来将网站网址发送到file.php的.htaccess文件:
RewriteEngine on
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.+)?$ /file.php?var=$1
然而,当我输入类似的东西时
mysite.com/http://google.com
它发送文件的变量是http:/google.com
(缺少斜杠)。我无法弄清楚为什么会这样。
此外,当我输入类似mysite.com/existingfolder
的内容时,其中existingfolder
是我网站上的文件夹,但它始终无法正常工作。它传递给文件的变量是missing.html
而不是existingfolder
。在这种情况下,文件不显示图像。无法找到图像,我假设它是因为它在网站上的不正确的文件夹中搜索图像。它可能认为它在existingfolder
而不是它应该在的正常文件夹中。
有谁知道我为什么会遇到这些问题?我知道htaccess,我认为它与此有关。
感谢您的帮助。
答案 0 :(得分:0)
我确定他们使用htaccess来执行此操作
我不是。我甚至不确定他们是否在使用Apache。
mod_rewrite并不总是所有URL处理问题的答案。它肯定容易出现基于路径的URL处理的一些怪癖,包括删除双斜线。
我建议从脚本中读取特定于Apache的REQUEST_URI
变量,而不是依赖重写来获取参数。这将为您提供浏览器请求的路径,无需任何处理。