繁体   English   中英

使用.htaccess进行重定向而不更改URL

[英]Redirect Without Changing URL using .htaccess

我想从图片网址重定向到页面网址。

nevil120.herobo.com/images/Chrysanthemum.jpgnevil120.herobo.com/index.php?image=free

重定向应该发生,但不应在浏览器中更改url。 网址应保持为nevil120.herobo.com/images/Chrysanthemum.jpg并加载页面。

如何通过.htaccess的重定向规则来实现?

你可以做:

Options +FollowSymLinks
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_URI} \.(jpg)$ [NC]    
RewriteRule RewriteRule ^images/([^/]+)$ index.php?image=free [QSA,L]

这会将所有带有.jpg扩展名的图像重定向到index.php?image=free 如果要将images/Chrysanthemum.jpg重定向到index.php?image=Chrysanthemum.jpg ,可以执行以下操作:

RewriteRule ^images/([^/]+)$ index.php?image=$1 [QSA,L]

注意 :QSA标志会将原始网址中的所有参数附加到新网址中。 这意味着,如果有人转到images/Chrysanthemum.jpg?image=dandelion ,则$_GET['image']变量将为蒲公英。 要仍然获得第一个图像参数(Chrysanthemum.jpg),可以在php中使用以下正则表达式:

$image = preg_replace('/image=([^&]+).*/', '$1', $_SERVER['QUERY_STRING']);

或者您可以删除QSA标志

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM