2010-03-16 107 views
0

多个URL创建重写规则,我一直在问我们的客户转换成我们搜索引擎友好的URL格式创建的网站。我已经设法解决这个问题,但是在同一个文件夹中拥有相同的网址时遇到了问题。在同一个文件夹

我试图改写以下URL,

  1. /review/index.php?cid=intercasino
  2. /review/submit.php?cid=intercasino
  3. /审查/指数。 PHP?CID = intercasino &页= 2条#评论

我想,让他们,

  1. /审查/ intercasino
  2. /提交审核/ intercasino
  3. /审查/ intercasino/2#评论

我已经几乎得到它的工作使用下面的规则,

RewriteRule (submit-review)/(.*)$ review/submit.php?cid=$2 [L] 
RewriteRule (^review)/(.*) review/index.php?cid=$2 

的问题,你可能已经看到,就是/提交审查重写到/审查,这反过来又被改写为index.php文件,因此我的审查提交页面代替我的索引页的丢失。我计算过,把[L]将防止被称为第二条规则,但它似乎在重写两个不同的传球这两个URL。我也试过[QSE],并且[S = 1]

我宁愿不必将我的文件移动到不同的文件夹中就可以使重写工作,因为这看起来太糟糕了。如果任何人都可以给我一些关于如何区分这些相似的网址的建议,那将是非常棒的!

感谢 (参考文献:http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html

回答

0

我的朋友找到了解决这一之一。

RewriteRule review/submit.php - [L] 

将抓住第一个重写,然后阻止下一个,工作一个治疗!

+0

我完全规则集,看起来这到底。 重写规则审查/ submit.php - (。*)?[L] 重写规则^(提交审查)/ $审查/ submit.php CID = $ 2 L] 重写规则^(?:审查)/([一个-Z0-9] *)(/([1-9])(#[AZ] *)?)?$审查/的index.php?CID = $ 1页= $ 3 – 2010-03-18 13:30:12

0

我会做什么,是使/直接从PHP文件中提交审查/后本身(或PHP文件),然后提交一次重定向。

它可以是苦逼的htaccess保持后的值,同时重定向等

+0

我真的不想找重定向。只是为了重写网址。 – 2010-03-16 12:19:57

相关问题