我想将http://example.com/STRING
之类的链接映射到http://example.com/STRING.png
,如何使用.htaccess进行映射?
答案 0 :(得分:2)
在htaccess中尝试以下代码:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.png -f
RewriteRule ^([^/]+)/?$ /$1.png [NC,L]
答案 1 :(得分:2)
尝试:
RewriteEngine on
RewriteCond %{REQUEST_URI} ^/(.*)$
RewriteCond %{DOCUMENT_ROOT}/%1.png -f
RewriteRule ^(.*)$ /%1.png [L]
答案 2 :(得分:1)
理论上(我还没有测试过),这个应该重定向到目录中的第一个文件,该文件由给定的字符串(http://example.com/STRING
)和1到4个字母/数字扩展名组成。
例如,这些是您的文件:
.htaccess
file.php
img.jpg
anotherimg.gif
doc.html
如果您请求example.com/doc
,它会将您重定向到example.com/doc.html
example.com/anotherimg
重定向到example.com/anotherimg.gif
htaccess的:
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^([a-zA-Z0-9]*)$ file.php?name=$1 [L]
file.php:
$files = scandir('./');
foreach($files as $file)
{
if (preg_match(
'/^'. $_GET['name'] .'.[a-zA-Z0-9]{1,4}/',
$file
)) {
header("Location: $file");
break;
} else continue;
}