隐藏我的$ _GET参数的URL

时间:2015-10-22 14:13:35

标签: javascript php jquery ajax .htaccess

我遇到了网址和获取方法表单的问题。 这是我的第1步URL:

http://localhost/myproject/media.php?module=create

这是我提交数据时的当前网址(第2步):

http://localhost/myproject/media.php?module=create&code=J-001&year=T-016&dept=P-001&class=KG-A&semester=1&day=monday

是否可以将当前网址(步骤2)替换为短网址?或者,是否可以使URL隐藏我的$ _GET参数?

我目前正在尝试编辑.htaccess,但仍然无法正确使用它:

选项+ FollowSymlinks

RewriteEngine On
#RewriteRule ^index.php$ media.php?module=create [L]
RewriteRule ^test-([0-9]+)/([0-9-0-9a-zA-Z\w]+)/?$ media.php?module=create&code=$1&year=$2&dept=$3&class=$4&semester=$5&day=$6 [NC]

#RewriteEngine on
#RewriteRule ^test-([0-9]+)-(.*)\.html$ media.php?module=create&code=$1&year=$2&dept=$3&class=$4&semester=$5&day=$6  [L]
#Options All -Indexes

2 个答案:

答案 0 :(得分:0)

我对htaccess了解不多,但据我所知,正则表达式中捕获的每个部分(括号内)被映射到$ 1(或任何其他数字 - 取决于顺序)结果网址。

所以

RewriteRule ^test-([0-9]+)/([0-9-0-9a-zA-Z\w]+)/?$ media.php?module=create&code=$1&year=$2&dept=$3&class=$4&semester=$5&day=$6

仅捕获2,并尝试将它们映射到6个不同的选项。

答案 1 :(得分:0)

基于你想要做的事情。

您的网址必须如下所示

http://example.com/J-001/T-016/P-001/KG-A/1/Monday

然后你可以有一个像这样的重写规则。

RewriteEngine on
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/?$ media.php?module=create&code=$1&year=$2&dept=$3&class=$4&semester=$5&day=$6 [NC,L]