0

我已经进行了很多实验,但是它们对我不起作用,所以我必须提出这个我需要非常具体的解决方案的查询。

不使用 CMS。该网站是一个使用php开发的电子商务网站

我的网站网址结构是

  • 对于产品页面 = https://www[dot]sitename.com/product.php?product=productid
  • 对于类别页面 = https://www[dot]sitename.com/category.php?category=category-name
  • 对于 SubCat 页面 =https://www[dot]sitename.com/category.php?subcategory=sub-category-name

我想

  • 对于产品页面 = https://www[dot]sitename.com/product/productid/
  • 对于类别页面= https://www[dot]sitename.com/category/category-name
  • 对于 SubCat 页面 =https://www[dot]sitename.com/category/subcategory/sub-category-name

我如何使用 .htaccess 来做到这一点?

4

3 回答 3

1

将此添加到您.htaccess的 Web 根/目录中

RewriteEngine on
RewriteBase /

# Products    
RewriteCond %{REQUEST_FILENAME} !-d # not a dir
RewriteCond %{REQUEST_FILENAME} !-f # not a file
RewriteRule ^product/([^/]+)/?$ product.php?product=$1 [NC,QSA,L]

# Categories
RewriteCond %{REQUEST_FILENAME} !-d # not a dir
RewriteCond %{REQUEST_FILENAME} !-f # not a file
RewriteRule ^category/([^/]+)/?$ category.php?category=$1 [NC,QSA,L]

# Sub-categories
RewriteCond %{REQUEST_FILENAME} !-d # not a dir
RewriteCond %{REQUEST_FILENAME} !-f # not a file
RewriteRule ^category/subcategory/([^/]+)/?$ category.php?subcategory=$1 [NC,QSA,L]
于 2013-10-01T07:31:38.683 回答
0

谢谢大家的建议。然而,没有一种方法对我有用。让我添加一些关于站点和托管的更多内容,这可能会帮助您分析我的问题并提供替代解决方案。

  1. 该网站托管在 Godaddy 共享主机上
  2. 该网站未使用任何 CMS
于 2013-10-05T08:26:11.677 回答
0

以下 htaccess 规则对我有用,希望这些对你有用。

RewriteEngine On    # Turn on the rewriting engine

RewriteRule    ^category/([A-Za-z0-9-]+)/?$    category.php?category=$1   [NC,L]    # Handle category

RewriteRule    ^category/subcategory/([A-Za-z0-9-]+)/?$    category.php?subcategory=$1   [NC,L]    # Handle sub category

RewriteRule    ^product/([A-Za-z0-9-]+)/?$    product.php?product=$1   [NC,L]    # Handle product
于 2013-10-01T07:28:47.740 回答