.htaccess重写规则不包括index.php

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (140)

我有一个.htaccess规则,它获取url的第一个目录部分并使用它来从数据库中查找产品,如下所示www.website.com/product-1。我使用以下规则,它工作正常:

RewriteRule ^([-_a-z0-9]+)?$ /product.php?product_url=$1 [NC,L]

问题是,当我访问主页www.website.com/时,它试图寻找一个空白的产品。如果我想访问主页,我必须使用www.website.com/index.php。

我如何保留上面的网址结构,但是www.website.com/显示主页index.php?

提问于
用户回答回答于

这应该跳过index.php

RewriteRule ^index\.php$ - [L]
RewriteRule ^([-_a-z0-9]+)?$   /product.php?product_url=$1    [NC,L]
用户回答回答于

你可以试试这个:还检查并修改这个问题我曾经问过你是否可以调整它。在.htaccess中对特定文件名执行If If语句

RewriteRule ^index\.php$ - [L] //This would make it skip index.php and look at product.php
RewriteRule ^([-_a-z0-9]+)?$   /product.php?product_url=$1    [NC,L]

扫码关注云+社区

领取腾讯云代金券