重写“?”和“=”成正斜杠/

时间:2013-11-04 13:40:46

标签: php html .htaccess mod-rewrite

我想将?=重写为正斜杠,而不必重写整个网址。我很难理解.htaccess但是可以简单地将?=转换为/ - 这在我看来就像一个更简单的选项。我尝试了各种方法,但它破坏了我的.js和css文件,所以为什么我只能将这两个字符重写为/?

我从所有网址中删除了.php:

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

# BEGIN GZIP
<ifmodule mod_deflate.c>
AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript x-font/otf x-font/TTF x-font/eot
</ifmodule>
# END GZIP

这是我要转换的网址,但只有?和=

www.example.com/search?store=hello

进入

www.example.com/search/store/hello

1 个答案:

答案 0 :(得分:3)

你在寻找像这样简单的东西吗?

RewriteRule ^search/([^/]+)/([^/]+)$ /search.php?=$2

将它放在当前RewriteRule之上,它应该可以正常工作。

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^search/([^/]+)/([^/]+)$ /search.php?=$2
RewriteRule ^(.*)\.php$ $1.php