作者:手机用户随便转转 | 来源:互联网 | 2023-09-08 19:07
我正在.htacess文件中进行一些更改,我想捕获请求的url,创建它的子字符串,并将其传递给第三部分url。
例如
我正在使用ubuntu,所以目前我的.htaccess文件处于文件夹测试中。因此,当我访问localhost/test/http://www.facebook.com
时,它带我到service.prerender.io/test/http://www.facebook.com
,但我想消除'test'并像service.prerender.io/http://www.facebook.com
一样转发请求
这是我的.htaccess文件的代码
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/script.php
RewriteRule ^(.*)$ http://service.prerender.io%{REQUEST_URI} [L,QSA]
您可以使用RewriteCond %{REQUEST_URI}
设置捕获组,而不必重写为http://service.prerender.io%{REQUEST_URI}
,而可以重写为类似http://service.prerender.io/%1
的内容。
这里是一个示例(未经测试):
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/script.php
RewriteCond %{REQUEST_URI} ^/?test/([.]+) [NC]
RewriteRule ^(.*)$ http://service.prerender.io/%1? [L,QSA]
,
您要捕获的内容不是直接请求的uri,而是其中的一部分。您可以从重写规则中获取它
尝试关注
RewriteRule ^test/(.*)$ http://service.prerender.io/$1? [L,QSA]
如果您正在访问类似页面,
https://www.example.com/thisdir/thisfile.php
然后您将按照请求uri和脚本uri进行跟踪
REQUEST_URI: /thisdir/thisfile.php
SCRIPT_URI: https://www.example.com/thisdir/thisfile.php
https://github.com/prerender/prerender-apache是有关htaccess和预渲染的更多信息