Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 重写链接,mod_重写_Php_Html_Apache_Mod Rewrite - Fatal编程技术网

Php 重写链接,mod_重写

Php 重写链接,mod_重写,php,html,apache,mod-rewrite,Php,Html,Apache,Mod Rewrite,例如,在商店里,我有分类和产品。分类如下: localhost/categories.php?categoryid=*** categoryid可以是任何单词 产品形成为: localhost/products.php?categoryid=***&productmanufactor=***&productname=*** 其中,categoryid,productmanufactor和productname也可以是任何单词 因此,我想重写(示例): localhost/ca

例如,在商店里,我有分类和产品。分类如下:

localhost/categories.php?categoryid=***
categoryid可以是任何单词

产品形成为:

localhost/products.php?categoryid=***&productmanufactor=***&productname=***
其中,
categoryid
productmanufactor
productname
也可以是任何单词

因此,我想重写(示例):

localhost/car
localhost/categories.php?categoryid=car
除了一些单词(关于、联系人等)

如何轻松做到这一点

htaccess

下面的代码可能会有所帮助

RewriteEngine On
RewriteRule ^([^/]*)/([^/]*)/([^/]*)$ /products.php?categoryid=$1&productmanufactor=$2&productname=$3 [L]
RewriteRule ^([^/]*)$ /categories.php?categoryid=$1 [L]

另请检查我正在使用此网站生成htaccess,它使用起来很简单。

您选择要重写的内容,这是规则,我为您设置了3种情况,仅删除了2种。对于其他页面,请在最后一条规则之前添加规则。添加一些条件,如在我的帖子中。谢谢您的帮助,但我仍然无法使其正常工作。我的htaccess
RewriteBase/RewriteRule^about$about.php[NC,L]RewriteRule^(.*)$categories.php?categoryid=$1[L]
每个单词都会重定向到categories.php,甚至是about。我哪里错了?试试
RewriteCond%{REQUEST\u FILENAME}-f
localhost/products.php?categoryid=car&productmanufactor=audi&productname=r8
RewriteEngine On
RewriteBase /
RewriteRule ^about$           about.php [NC,L]
RewriteRule ^contact$         contact.php [NC,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$            categories.php?categoryid=$1 [NC,L]
RewriteRule ^(.*)/(.*)/(.*)$  products.php?categoryid=$1&productmanufactor=$2&productname=$3 [NC,L]
RewriteRule ^about$           about.php [NC,L]
RewriteRule ^contact$         contact.php [NC,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$            categories.php?categoryid=$1 [NC,L]
RewriteEngine On
RewriteRule ^([^/]*)/([^/]*)/([^/]*)$ /products.php?categoryid=$1&productmanufactor=$2&productname=$3 [L]
RewriteRule ^([^/]*)$ /categories.php?categoryid=$1 [L]