隐藏查询参数的网址无法正常工作

时间:2016-06-23 06:47:58

标签: php apache .htaccess

这里我的htaccess文件是:

RewriteEngine on

RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^([^\.]+)$ $1.php [NC,L]
RewriteCond %{HTTP_HOST} ^(^.*)\.gautam.com

在文件的最后我写了:

RewriteRule ^jobs/([^\.]+)$ jobs?type=$1 [NC,L]

更改我的网址:

gautam.com/jobs?type=what ever

到这个

gautam.com/jobs/what ever

2 个答案:

答案 0 :(得分:1)

试试这个:

RewriteRule ^jobs/([0-9]+) jobs.php?type=$1

如果你想传递2个参数:

RewriteRule ^jobs/([0-9]+)/([0-9a-zA-Z]+) jobs.php?id=$1&&message=$2

答案 1 :(得分:1)

您的规则看起来不错,但应该将其移到您的其他重写规则之上。

以下内容正在取代它,因为它首先出现,/jobs/whatever可能符合!-f!-d条件。

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^([^\.]+)$ $1.php [NC,L]