针对棘手网址的.htaccess重写规则

时间:2014-12-12 22:19:14

标签: php apache .htaccess mod-rewrite

自从切换到nginx以来,我没有触及.htaccess多年,但是我有这个网站使用了很好的'Apache。我需要将它的相当非正统的URL(由于AJAX)重写为干净的URL。

目前看起来像这样:

site.com/#!products/desserts/35/carrot-cake/ 

但最好是我想要阅读..

site.com/products/desserts/carrot-cake

话虽如此,在这里拿走#! / 35 / 的最简单方法是什么?数字35表示产品的ID,但无论如何都可以通过它的别名胡萝卜蛋糕来获取。

我尝试使用重写生成器,但似乎他们很难抓住这种URL。

1 个答案:

答案 0 :(得分:1)

你在htaccess中无能为力。 #之后的所有内容都是URL片段,并且从未发送到服务器。

因此,当浏览器转到:site.com/#!products/desserts/35/carrot-cake/时,apache看到的唯一内容是对/的请求,这意味着您无法在htaccess中执行任何可以更改片段的操作。

如果您想让网址看起来不同,您需要在客户端做一些事情。