URL重写图像

时间:2013-04-21 12:58:31

标签: php .htaccess

我的.htaccess文件

Options +FollowSymLinks
RewriteEngine on

RewriteRule     ^the-image-([A-Za-z0-9]+)-([A-Za-z0-9+]+)/?$  images/userfolder/$1/$2 [NC,L] #Loading Images

在我的PHP页面

<img src='./the-image-$username-$image_id' alt='User Image' />

我的目标是根据用户名和图片ID为每个用户加载图片。

用户名存储在$username下,图片ID存储在$image_id个变量下。图像将位于images/userfolder/username/image.jpg

但图像没有加载。我的语法错误是什么?

注意:图像ID变量同时包含图像名称和扩展名。示例:1.jpg

2 个答案:

答案 0 :(得分:1)

您可以尝试这样做:

RewriteRule  ^the-image-([^-]+)-([^-]+)/?$  images/userfolder/$1/$2 [NC,L]

答案 1 :(得分:0)

^the-image-([A-Za-z0-9]+)-([A-Za-z0-9+]+)/?$

最后的正斜杠不会被转义。尝试以这种方式更改正则表达式

^the-image-([A-Za-z0-9]+)-([A-Za-z0-9+]+)\/?$

或者如果你在$ image_id

之后没想到任何正斜杠,你可以删除它
^the-image-([A-Za-z0-9]+)-([A-Za-z0-9+]+)$