2010-11-14 94 views
0

我遇到了mod_rewrite问题。我想这样做:Apache mod_rewrite,URL重写,然后重定向问题

我有网址的 mydomain.com/index.php/tag/123/some-name/

形式我想改变这个网址mydomain.com/some -name/

我写了下面的代码在我.htacess文件,这不工作:-(

第一改写

的RewriteCond%{} THE_REQUEST ^/index.php文件/标签/(。 )/ $ [NC] RewriteRule^inde x.php /标签/([0-9] +)/(。)/ $/$ 2/[R = 301,L]

然后重定向到index.phe

重写规则^(。*)/ $ /index.php?tagname=$1 [L]

我的网址没有被重写到浏览器,也没有去index.php。

由于提前, 拉维

+0

“这不起作用”不是很具描述性。除了告诉我们你想要什么或希望发生什么,请[告诉我们](http://tinyurl.com/so-hints)实际发生的事情。另请格式化样品。您可以缩进四行空格(“101 \ n010”按钮将为您执行此操作)将文本格式设置为代码或使用“>”引用文本。请编辑您的问题(点击其下方的“编辑”链接)并格式化您的示例.htaccess。对于其他格式化提示,请单击文本编辑器工具栏中的橙色问号。 – outis 2010-11-14 13:47:17

回答

0

如果需要的标签号来访问正确的页面,你会做的比使用mod_rewrite更多...

否则,这是你在找什么为:

RewriteRule ^index.php/tag/[0-9]+/(.*)$ $1 [R] 
RewriteRule ^(.*)$ index.php?tagname=$1 [L] 

现在有人访问:mydomain.com/tag/123/wierdtagname会重定向到mydomain.com/wierdtagname将运行mydomain.com/index.php?tagname=wierdtagname