我想要将http://example.com/STRING
这样的链接映射到http://example.com/STRING.png
,如何使用.htaccess来完成。
在htaccess中尝试下面的代码:
RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}\.png -f RewriteRule ^([^/]+)/?$ /$1.png [NC,L]
尝试:
RewriteEngine on RewriteCond %{REQUEST_URI} ^/(.*)$ RewriteCond %{DOCUMENT_ROOT}/%1.png -f RewriteRule ^(.*)$ /%1.png [L]
这个理论上(我没有测试过)应该重定向到由给定字符串( 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; }