我正在网站上获取有关其他网站的信息。 我想做的是:
myurl.com/site/example.com - >原始网址是 的 myurl.com/work.php?query=example.com
而且,我知道该怎么做。
但问题是,当我放入 example.com ,而不是 http:// 或 https:// 之前“干净”的URL,服务器了解另一件事:
未找到在此服务器上找不到请求的网址/网站/ http://www.example.com。
我的.htaccess文件现在是:
RewriteEngine On
RewriteRule ^q/([^/]*)$ /?id=$1 [L]
我该怎么做才能让它正常工作?
答案 0 :(得分:0)
您的模式:([^/]*)
匹配不是/
的任何内容。所以,如果你添加一个" http://"或" https://"在" example.com"前面,它有/
,其中两个,所以你的模式将拒绝匹配它。您可以尝试为http部分创建可选匹配项:
RewriteEngine On
RewriteRule ^q/(?:https?://|)([^/]*)$ /?id=$1 [L]
或更改([^/]*)
模式以匹配/
'
RewriteEngine On
RewriteRule ^q/(.*)$ /?id=$1 [L]