Apache 如何使用.htaccess添加文件类型扩展名?

Apache 如何使用.htaccess添加文件类型扩展名?,apache,.htaccess,routes,Apache,.htaccess,Routes,我想映射像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] 在htaccess中尝试以下代码: Rew

我想映射像
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]

在htaccess中尝试以下代码:

RewriteEngine on


RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.png -f

RewriteRule ^([^/]+)/?$ /$1.png [NC,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;

}

从理论上讲(我并没有测试过),这个应该重定向到目录中由给定字符串(
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;

}