2015-07-12 82 views
1

我的链接是改写表格后,动态URL提交

search?c=category&s=product 

我已经删除与htaccess的.php为,一切从用户的搜索,第一页会显示上面的链接工作分开,我想要显示为下面的链接:

search/category/product 

我尝试下面的代码:

Options +FollowSymLinks 
RewriteEngine on 

RewriteRule ^product/(.*)/(.*)/(.*) product.php?id=$1&c=$2&name=$3 

RewriteRule ^search/(.*)/(.*)/(.*) search.php?c=$1&s=$2&page=$3 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*)$ $1.php 

RewriteCond %{THE_REQUEST} \ /+search\?c=([^&\ ]+)&s=([^&]+) 
RewriteRule^/search/%1/%2? [L,R] 

我是什么想念g在上面?

+0

规则看起来不错,你面临什么问题? – anubhava

+0

当他们在查询类型,然后点击搜索链接仍然显示为搜索?c =类别&S =产品 – user3312792

+0

这是哪里htaccess的定位和它有其他的规则呢? – anubhava

回答

1

有规矩是这样的:

Options +FollowSymLinks 
RewriteEngine on 
RewriteBase /site/ 

RewriteCond %{THE_REQUEST} /search\?c=([^&\s]+)&s=([^&\s]+) [NC] 
RewriteRule^search/%1/%2? [L,R] 

RewriteRule ^product/([^/]+)/([^/]+)/([^/]+)/?$ product.php?id=$1&c=$2&name=$3 [L,QSA] 

RewriteRule ^search/([^/]+)/([^/]+)/([^/]+)/?$ search.php?c=$1&s=$2&page=$3 [L,QSA] 

RewriteRule ^search/([^/]+)/([^/]+)/?$ search.php?c=$1&s=$2 [L,QSA] 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*)$ $1.php [L] 
+0

这个固定的最后两行倒是%20HTTP/1.1〜我的搜索查询 – user3312792

+0

叶,这是正确的,但打破了第一页的结果,因为它需要页面定义为1个 – user3312792

+0

搜索/分类/产品/ l - 工程...搜索/分类/产品打破 – user3312792