Apache RewriteRule来模拟目录

时间:2010-09-24 09:14:00

标签: apache mod-rewrite

有没有办法告诉Apache模拟URL中的目录?

以下是我要做的...我目前有一个像http://photo.mydomain.com/pics/17/120417/1.jpg这样的网址,我希望能够通过http://photo.mydomain这样的网址获得相同的内容。 com / pics / 51/17/120417 / 1.jpg。

这可能吗?如果是的话,我会非常感激: - )

谢谢!

2 个答案:

答案 0 :(得分:1)

尝试此规则:

RewriteRule ^pics/\d{2}/([^/]+/[^/]+/[^/]+)$ pics/$1

修改 由于您在<VirtualHost>部分中使用此规则而不是.htaccess文件,因此您需要在模式中使用带路径前缀的完整路径:

RewriteRule ^/pics/\d{2}/([^/]+/[^/]+/[^/]+)$ pics/$1

只有.htaccess文件才需要删除它们:

  

在.htaccess文件中使用重写引擎时,每个目录前缀(对于特定目录始终相同)会自动删除以进行模式匹配并自动添加替换完成后。

答案 1 :(得分:0)

是的,这是可能的。

RewriteEngine On
RewriteRule ^pics/\d{2}/(.+)$ pics/$1

“\ d {2}”将为“51”,“(。+)”表示一个或多个符号