Php 向.HTACCESS文件中再添加一个变量

Php 向.HTACCESS文件中再添加一个变量,php,html,.htaccess,url,Php,Html,.htaccess,Url,这里的想法是缩短url,这就是.htacs将要做的 真正的url是: http://myhost/web/search.php?year=2014 http://myhost/web/search.php?year=2014&status=1 .htaccess将其更改为: http://myhost/web/search/2014 这就是.htaccess的外观: RewriteEngine on RewriteCond %{SCRIPT_FILENAME} -d Rewrit

这里的想法是缩短url,这就是.htacs将要做的

真正的url是:

http://myhost/web/search.php?year=2014
http://myhost/web/search.php?year=2014&status=1
.htaccess将其更改为:

http://myhost/web/search/2014
这就是.htaccess的外观:

RewriteEngine on

RewriteCond %{SCRIPT_FILENAME} -d
RewriteCond %{SCRIPT_FILENAME} -f
RewriteRule . - [L]


#if search with one variable
RewriteRule ^search/([-a-zA-Z0-9]+)/?$ search.php?year=$1 [L,NC]
http://myhost/web/search/2014/1
现在idia是她,我有两个变量,就像真正的url一样:

http://myhost/web/search.php?year=2014
http://myhost/web/search.php?year=2014&status=1
现在应该是这样的:

RewriteEngine on

RewriteCond %{SCRIPT_FILENAME} -d
RewriteCond %{SCRIPT_FILENAME} -f
RewriteRule . - [L]


#if search with one variable
RewriteRule ^search/([-a-zA-Z0-9]+)/?$ search.php?year=$1 [L,NC]
http://myhost/web/search/2014/1
那么,我应该在.htaccess上编辑什么呢

提前问候。

您有两个选择

1-将第二个变量放入
.htaccess
文件中,例如:

RewriteRule ^search/([-a-zA-Z0-9]+)/([0-9]+) search.php?year=$1&status=$2 [L,NC] 
RewriteRule ^search/([-a-zA-Z0-9]+)/?$ search.php?year=$1 [L,NC]

2-如果您想捕获
2014/
之后的所有变量,请使用
explode(/)

在php文件中解析
URL
,我想您在这里键入了
http://myhost/web/search/1 
否,在搜索中,它有两个变量:一(年)和(状态)。。。对于url,它将是这样的(当.htaccess使它变短时,它将是这样的(但您在问题中编写的链接是:
search/1
).ya(search/1)是一个例子,它是用.htaccess解决的。我在我的问题上发布了一篇文章,如果我想(search/1)它现在解决了这个问题,有两个变量(search/2014/1)哪一个2014=年份,哪一个1=状态…请仔细阅读我的问题