Mod-Rewrite用于动态URL

时间:2011-03-23 00:35:35

标签: regex .htaccess mod-rewrite

我正在尝试将我的网址重写为更友好的SEO,我正在使用以下代码在我的.htaccess文件中执行此操作:

RewriteEngine On      
RewriteRule blog/(.*)/$ blog/index.php?&link=$1 [NC]      
RewriteRule ^/*(.+/)?([^.]*[^/])$ http://%{HTTP_HOST}/$1$2/ [L,R=301]

该代码允许我将http://example.com/blog/index.php?link=22重写为http://example.com/blog/page-title/

这里唯一的问题是,我试图让它在没有结束斜杠(/)的情况下工作。我已经尝试在.htaccess代码的第三行中删除它(右击$ 2),但这只是打破了一切,重写根本不起作用。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

立即尝试,无论是否使用斜杠都可以。

RewriteEngine On      
RewriteRule blog/(.*)/?$ blog/index.php?&link=$1 [NC]      
RewriteRule ^/*(.+/)?([^.]*[^/])$ http://%{HTTP_HOST}/$1$2 [L,R=301]