2011-03-23 45 views
1

我试图重写我的网址要更加SEO友好,我使用下面的代码做这在我的.htaccess文件:MOD-重写的动态网址

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),但是这只是打破了一切,重写根本不起作用。

任何帮助是极大的赞赏。

回答

2

现在尝试,无论有无斜线应该工作。

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

这不适合我。我使用这个确切的代码: 'RewriteRule demo /(.*)/?$ demo/index.php?&link = $ 1 [NC] RewriteRule ^/*(。+ /)?([^。] * [^ /])$ http://%{HTTP_HOST}/demo/$ 1 $ 2/[L,R = 301]' 它在最后自动添加斜线(/),现在不用加载页面给我一个404. – Jeremy 2011-03-23 03:30:23

+0

我做了一个编辑,没有删除/从第3行。 – Zimbabao 2011-03-23 04:11:26