【发布时间】:2014-08-26 10:35:55
【问题描述】:
我在网上找到了这个解决方案:
RewriteEngine On
RewriteBase /test/
RewriteRule ^([^-]*)/$ index.php?page=$1
RewriteRule ^([^-]*)/([^-]*)/$ index.php?page=$1&link=$2 [L]
#dodaje slash na koncu
RewriteRule ^(([a-z0-9\-]+/)*[a-z0-9\-]+)$ $1/ [NC,R=301,L]
第一个 RewriteRule 完美运行,它返回给我$_GET['page']=130。但是当涉及到第二个时,它返回给我$_GET['page']=index.php 而不是$_GET['page']=130 和$_GET['link']=35。由于页面的数字 id,以 SQL 错误结束。
普通链接如下:
?page=136
?page=136&link=35
改写一个:
/136/ - 有效
/136/35/ - 不起作用,$_GET['page']=index.php
【问题讨论】:
-
究竟您要访问的网址是什么?
-
link link
-
您想联系
/130/35或/130/35/吗?因为你的规则只有在有斜杠时才匹配 -
不,
RewriteRule ^(([a-z0-9\-]+/)*[a-z0-9\-]+)$ $1/ [NC,R=301,L]在末尾添加斜线。
标签: apache .htaccess mod-rewrite url-rewriting rewrite