0

我有这个网址:

www.mysite.it/index.php?page=search&sOrder=dt_pub_date&iOrderType=desc&sPattern=MOTO&sCity=Pisa&sPriceMin=&sPriceMax=

这是一个从搜索按钮(比萨市的 MOTO)产生的 url。

是否可以重写单词?page=search, sOrder, dt_pub_date, iOrderType, sPattern. sCity, sPriceMin,sPriceMax使 url 变为:

www.mysite.it/toscana/pisa/cerca=MOTO

或者只是更用户友好?

4

2 回答 2

0

启用mod_rewrite.htaccess通过httpd.conf然后将此代码放入您的 DOCUMENT_ROOT/.htaccess文件中:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteCond %{QUERY_STRING} ^page=search&sOrder=dt_pub_date&iOrderType=[^&]*&sPattern=([^&]*)&sCity=([^&]*)&sPriceMin=[^&]*&sPriceMax
RewriteRule ^index\.php$ /toscana/%2/cerca=%1? [R=301,L,NE,NC]
于 2013-09-24T13:57:22.857 回答
0

我会提出以下几点建议。首先将您想要的部分捕获到环境中:

# find sCity component, write it to environment variable
RewriteRule ([?&]sCity=([^&?]+)) $1 [E=sCity:$2]

# find sPattern component, write it to environment variable
RewriteRule ([?&]sPattern=([^&?]+)) $1 [E=sPattern:$2]

然后使用您从捕获中创建的那些环境变量进行重写。

# do substitution from environment variables
RewriteRule ^(.*?)/.*$ $1/%{ENV:sCity}/cerca=%{ENV:sPattern}

注意:未经测试- 你可以试试这个,看看它是否能激励你或对你是否成功。否则按照我的做法继续阅读mod_rewrite 文档

于 2013-09-24T13:58:04.110 回答