为了不影响本身电脑的使用,在vmware workstation的系统上装了wamp,来学习点电脑方面的知识。
这几天在研究shopex和ecshop伪静态的问题,虽然到目前为止达到了传统意义上伪静态的,但是不是自己想要的那种。我想要的是万表网的那种效果,如:
品牌分类URL效果:
商品详情URL效果:
可以说,这种URL格式无论对搜索引擎还是用户体验来说,都是非常好的。怎么实现呢?这就是我目前一直在思考的问题。(网上有插件买,蛮贵的,穷苦的人伤不起)
扯远了。
了解Rewritebase作用的实验步骤:(以下所有前提都建立在你打开了Aphach的mod_rewrite模块)
1、在根目录写一个product.php文件,内容可为:
<?php
// display product details
echo 'You habe selected product #' . $_GET['product_id'];
?>
2、再在根目录写一个.htaccess文件,内容为:
RewriteEngine On
# Translate my-super.product.html to/product.php?product_id=123
RewriteRule ^my-super-product.html$/product.php?product_id=123
3、然后在浏览器中打开动态:
4、再在浏览器中打开静态:
4、可以说在根目录下,这样的rewrite规则是正确的。
5、接着,我们在根目录下建一个名为seophp的文件,把之前的product.php和.htaccess移进去,再打开,我们先打开动态,依旧出现:
可是打开静态时,却出现404错误。
6、如何解决这个问题,我们需要对.htaccess进行修改,
如下:
RewriteEngine On
Rewritebase /seophp
# Translate my-super.product.html to product.php?product_id=123
RewriteRule ^my-super-product.html$ product.php?product_id=123
7、保存后再打开静态,则成功:
总结:
1、Rewritebase是用来指定一个新的位置来作为重写规则的根目录。
2、因为不用重写根目录,所以要去掉重写的URL地址前面的斜杠
PS:突然发现have写成了“habe”,大家无视吧~o(∩_∩)o~