我已经进行了很多实验但是它们对我不起作用,所以我必须把这个查询我需要非常具体的解决方案。
未使用CMS。该网站是使用php开发的电子商务网站
我的网站网址结构
https://www[dot]sitename.com/product.php?product=productid
https://www[dot]sitename.com/category.php?category=category-name
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
https://www[dot]sitename.com/category/subcategory/sub-category-name
我怎样才能使用.htaccess?
答案 0 :(得分:1)
将此添加到您的网络根.htaccess
目录
/
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]
答案 1 :(得分: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
答案 2 :(得分:0)
谢谢大家的建议。然而,没有一种方法适合我。让我添加一些关于网站和托管的内容,这可以帮助您分析我的问题并提供替代解决方案。