Mod重写问题

时间:2010-12-26 07:56:53

标签: mod-rewrite

如何使用mod重写将示例1和示例2都指向示例3。到目前为止,我可以指出示例2。

示例1

http://www.example.com/posts/1/abcd/

示例2

http://www.example.com/posts/1/abcd

示例3

http://www.example.com/posts.php?aid=1

这是我的模式重写

<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine on
RewriteBase /
RewriteRule ^posts/([^/]*)/([A-Za-z0-9-]+)$ /posts.php?aid=$1 [L]
</IfModule>

1 个答案:

答案 0 :(得分:0)

你必须在正则表达式的末尾添加(/?)来表示可以有一个或没有/ char AND你必须删除开头^ char什么代表一行的开头:

<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine on
RewriteBase /
RewriteRule /posts/([^/]*)/([A-Za-z0-9-]+)(/?)$ /posts.php?aid=$1 [L]
</IfModule>