的.htaccess转换查询字符串永远不会奏效(.htaccess to convert query

2019-11-02 03:55发布

其目标是:具有转换成一个好看的URL,这是我从来没有得到工作的查询字符串。

细节:更改此网址: http://www.mywebsite.com/static-directory/index.php?state=florida&city=tallahassee

这一个: http://www.mywebsite.com/static-directory/florida/tallahassee

我曾尝试:嗯,刚才的一切。 我最近的搜索想出了这个教程 ...

我有我.htaccess文件在我的根目录(httpdocs资料)。

任何帮助或点我在上堆栈溢出的权利回答问题。

谢谢。

Answer 1:

题:
“更改此网址: .../static-directory/index.php?state=florida&city=tallahassee
这一个: .../static-directory/florida/tallahassee

根据这个问题,所有需要的是第一URL(请求)通过查询:第二个转换没有查询。

这里有一个方法来实现这一目标在根目录下一个.htaccess文件:

Options +FollowSymlinks -MultiViews
RewriteEngine On
RewriteBase /

RewriteCond %{THE_REQUEST} /static-directory/index.php\?state=([^&]+)&city=([^\s&]+) [NC]
RewriteRule  ^static-directory/index.php  /static-directory/%1/%2? [R=301,L,NC]

然而,就在情况下,OP忘了提及整个想法是为了有一个“漂亮”的网址,但仍从原来的URL获取数据删除查询,接下来的2行添加到规则集:

RewriteCond %{REQUEST_URI}  !index\.php [NC]
RewriteRule  ^static-directory/([^/]+)/([^/]+) /static-directory/index.php?state=$1&city=$2 [L]


文章来源: .htaccess to convert query string never works