我有一些问题与URL重写Apache和重写URL问题
我需要trasform该网址
News/?a=shownews&id=53
到
index.php?m=News&a=shownews&id=53
我试图使它:
RewriteRule ^([A-Za-z0-9_]+)/\?(.+?)$ index.php?m=$1&$2 [R]
但它没有工作,可以做你h elp我来解决它?
我有一些问题与URL重写Apache和重写URL问题
我需要trasform该网址
News/?a=shownews&id=53
到
index.php?m=News&a=shownews&id=53
我试图使它:
RewriteRule ^([A-Za-z0-9_]+)/\?(.+?)$ index.php?m=$1&$2 [R]
但它没有工作,可以做你h elp我来解决它?
编辑:? 我收回这句话 - 显然这是可能做到这一点,你的情况
RewriteRule ^(.+)/$ index.php?m=$1 [QSA]
Apache无法使用$ _GET参数来构建新的URL;你将不得不改变URL的结构。
哦哦,我不想使用$ _GET我只是想拆分 新闻/ A = shownews&ID = 53 转换成 $ 1 =新闻 $ 2 = a = shownews&id = 53 将它们组合成index.php?m = News&a = shownews&id = 53 – oscurodrago 2011-05-26 22:08:36
那么你的网址中有什么问号? – MatTheCat 2011-05-26 22:10:14
从Apache的文件:
默认情况下,查询字符串加改变地通过 。但是,您可以在包含查询字符串部分的替换字符串 中创建URL。只需在 内使用 替代字符串中的问号表示 以下文字应该是 重新注入到查询字符串中。 如果要删除现有的 查询字符串,请使用问号结束替换 字符串。至 结合新旧查询字符串,请使用[QSA]标志 。
使用[QSA]标志,您可以重新绑定您的URL,并且现有查询字符串参数将被追加或传递。
希望这会有所帮助。
是刚做完 RewriteRule ^([A-Za-z0-9 _] +)/?$ index.php?m = $ 1 [QSA] 我看到了你的回复thx – oscurodrago 2011-05-26 22:37:39