php - 如果 url 末尾不存在扩展名(如 .png、.jpg),如何将用户从特定文件夹重定向到另一个位置
问题描述
如果 url 末尾不存在扩展名,我想将特定文件夹的所有 url 重定向到另一个位置。
我在服务器中有“测试”文件夹。
我的网址就像
www.example.com/Test/abc
www.example.com/Test/abc1
www.example.com/Test/abc2
所以我希望当用户点击这些网址时,它将被重定向到索引页面(www.example.com/index.php)
但是如果 url 末尾有扩展名,那么它不应该被重定向。
喜欢www.example.com/Test/logo.jpg, www.example.com/Test/p1.mp3
我曾尝试使用 .htaccess 文件来做到这一点。我能够重定向到索引页面,但我的问题是当用户点击任何图像 url 或 mp3 url 时,它也会将用户重定向到索引页面。
这是我的 .htaccess 文件
<IfModule mod_rewrite.c>
Options +SymLinksIfOwnerMatch
RewriteEngine On
Redirect /Test http://example.com/index.php?id=
</IfModule>
它将我重定向到以下网址
http://example.com/index.php?id=abc (if i clicked on http://example.com/Test/abc)
任何想法?
解决方案
好吧,.htaccess
您可以执行以下操作:
RewriteEngine On
RewriteRule ^Test/(.*)\.jpg$ /index.php?id=$1.jpg [L]
RewriteRule ^Test/(.*)\.mp3$ /index.php?id=$1.mp3 [L]
如果你想要301
重定向:
RewriteCond %{REQUEST_URI} \.(jpg|png|mp3)$ [NC]
RewriteRule ^Test/(.*)$ http://example.com/index.php?id=$1 [R=301,L]
推荐阅读
- r - Is there a way to make hyperlinks in the pop-up of a tm_bubbles item?
- python - beautifulsoup4 不返回内容
- c++ - 如何修复此错误:在 malloc_error_break 中设置断点以进行调试
- python - 读取作为矩阵的文本文件
- tsql - 添加新列只是为了拥有聚簇表
- android - 使用 Android Studio 的开发人员将如何从 Material Theme Editor 中受益?
- game-maker - 未添加高分
- typescript - 如何使用来自外部 .d.ts 文件的导出类型?
- xslt - 在 XSLT 1.0 中应用多个模板,例如 XSLT 2.0
- apache-spark - 基于 sorted-based shuffle 的数据文件是什么样的?