.htaccess 创建使用实际站点URL的漂亮URL时出现的问题

.htaccess 创建使用实际站点URL的漂亮URL时出现的问题,.htaccess,mod-rewrite,friendly-url,.htaccess,Mod Rewrite,Friendly Url,我想创建类似于downforeveryoneorjustme.com网站的功能。他们使用一个漂亮的URL来接收任何给定站点的URL。我确信他们使用htaccess来实现这一点,但是我使用的方法遇到了问题 这是我的.htaccess文件,用于将站点URL发送到file.php: RewriteEngine on RewriteCond %{SCRIPT_FILENAME} !-f RewriteCond %{SCRIPT_FILENAME} !-d RewriteRule ^(.+)?$

我想创建类似于downforeveryoneorjustme.com网站的功能。他们使用一个漂亮的URL来接收任何给定站点的URL。我确信他们使用htaccess来实现这一点,但是我使用的方法遇到了问题

这是我的.htaccess文件,用于将站点URL发送到file.php:

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
。在这种情况下,文件不显示图像。找不到该图像,我假设是,因为它正在网站上的错误文件夹中搜索该图像。它可能认为它在
现有文件夹中,而不是它应该在的普通文件夹中

有人知道我为什么会遇到这些问题吗?我知道htaccess,我想这与此有关

谢谢你的帮助

我确信他们使用htaccess来做这件事

我不是。我甚至不确定他们是否在使用Apache

mod_rewrite并不总是所有URL处理问题的答案。当然,它很容易出现一些基于路径的URL处理的怪癖,包括删除双斜杠


我建议从脚本中读取Apache特定的
REQUEST\u URI
变量,而不是依赖重写来获取参数。这将为您提供浏览器请求的路径,而无需任何处理。

如何从脚本中读取请求URI变量的部分副本?此外,我也尝试过相关问题中详述的方法,但这些方法都不适合我。RewriteCond%{THE_REQUEST}^GET\/(https?://[^\s]+)RewriteRule^https?:/file.php?var=%1[L]这是另一页上建议的,但对我来说仍然不起作用