需要使用带参数的htaccess重定向url的最后一部分



#RewriteRule#htaccess我有一个网址,例如:www.example.com/path1/path2/pdfname.pdf。我需要将这个网址重定向到另一个没有pdf扩展名的pdf名称,如(pdfname(。重定向Url应为www.example.com/path3/viewpdf.php?param=pdfname。非常感谢你的帮助,谢谢。

假设"路径1"路径2";以及";路径3";都是固定的,文字字符串,这可能就是你想要的:

RewriteEngine on
RewriteRule ^/?path1/path2/(.+).pdf$ /path3/viewpdf.php?param=$1 [L]

这将保持浏览器中可见的URL不变,这通常是所需的。

该规则同样适用于中央http服务器的主机配置(通常是首选(,或者,如果您没有访问权限,则适用于分布式配置文件(通常称为".htaccess"(。在以后的情况下,该文件需要由http服务器进程读取,并且必须位于处理http服务器主机的DOCUMENT_ROOT文件夹中。


如果您真的想重定向请求(因此更改浏览器中实际可见的URL(,而不是内部重写,那么该变体应该执行:

RewriteEngine on
RewriteRule ^/?path1/path2/(.+).pdf$ /path3/viewpdf.php?param=$1 [R=301,L]

同样,如果域名(http主机名(或协议方案保持不变,则无需指定它们。以上提示同样适用。

最新更新