的.htaccess转换查询字符串永远不会奏效永远不会、字符串、htaccess

2023-09-02 20:40:27 作者:走着走着你就不见了@

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

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

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

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

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

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

感谢。

解决方案   

问:   更改此网址: ... /静态目录/ index.php的状态=佛罗里达州和放大器;城市=塔拉哈西   这一个: ... /静态目录/佛罗里达/塔拉哈西

据的问题,所有需要的是转换的第一URL(该请求)与查询的第二一个没有一个查询。

下面是一个的方式来实现,在一个.htaccess文件的根目录下:

 选项+了FollowSymLinks -MultiViews
RewriteEngine叙述上
的RewriteBase /

的RewriteCond%{} THE_REQUEST /static-directory/index.php?state=([^&]+)&city=([^s&]+)[NC]
重写规则^静态目录/ index.php文件/静态目录/ 1%/ 2%? [R = 301,L,NC]
 

然而,就在万一OP忘记提到的整体思路是消除查询,以便有一个pretty的网址,但仍从原来的URL获取数据,加上未来2行的规则集:

 的RewriteCond%{REQUEST_URI}!指数 .PHP [NC]
重写规则^静态目录/([^ /] +)/([^ /] +)/static-directory/index.php?state=$1&city=$2 [L]
 
caj怎么转换成pdf caj转换成pdf的方法拿走不谢

The goal: To have a query string converted into a nice looking URL, which I have never gotten to work.

The details: Change this URL: http://www.mywebsite.com/static-directory/index.php?state=florida&city=tallahassee

to this one: http://www.mywebsite.com/static-directory/florida/tallahassee

What I have tried: Well, just about everything. My latest search came up with this tutorial...

I have my .htaccess file in my root directory (httpdocs).

Any help or point me at the right answered question on Stack Overflow.

Thanks.

解决方案

QUESTION: "Change this URL: .../static-directory/index.php?state=florida&city=tallahassee to this one: .../static-directory/florida/tallahassee"

According to the question, all is needed is to convert the 1st URL (The Request) with the query to the 2nd one without a query.

Here is a way to achieve that in one .htaccess file at root directory:

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]

However, just in in case the OP forgot to mention the whole idea is to remove the query in order to have a "pretty" URL but still get the data from the original URL, add next 2 lines to the rule-set:

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

 
精彩推荐