如何在不使用"?"的情况下在查询字符串中获取变量

时间:2013-10-30 16:08:07

标签: php get

我正在尝试使用GET来捕获URL中的成员ID,而不使用?name =变量。例如,我不想使用mydomain.com/folder?id=1234,而是使用mydomain.com/folder/1234并在代码中选择ID“1234”,以便将其传递给另一个URL。

此页面只使用以下内容重定向:<iframe src="http://redirect_domain.com/folder/index.php" />

我无法控制我重定向到的服务器,但需要传递给它的变量。我可以使用?id=1234 <iframe src="http://redirect_domain.com/folder/index.php?id=1234" />

附加重定向网址

他们的代码会使用<?php echo $_GET["id"]; ?>

来获取ID

感谢您的帮助。

3 个答案:

答案 0 :(得分:1)

你会想要使用.htaccess。创建一个名为.htaccess的文件,并将其放在mydomain.com引用的同一文件夹中。在那里放置如下内容

RewriteEngine On
RewriteRule ^folder/(.*)$ folder?id=$1 [L]

注意:必须在apache上启用mod_rewrite,但通常是。

更新:我已更新.htaccess以反映本地网址,因为您已更清楚地了解所需的功能。将此.htaccess与<iframe src="http://redirect_domain.com/folder/index.php?id=<?=$_GET['id']?>" />结合使用应该可以解决问题。

答案 1 :(得分:0)

创建.htaccess文件并使用类似

的内容
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

答案 2 :(得分:0)

我觉得有必要写下我自己的答案。 .htaccess中的以下两行应该完全符合您的要求:

RewriteEngine On
RewriteRule ^folder/(.*)$ redirect_domain.com/folder/index.php?id=$1 [L] 

根据重写规则测试网站http://martinmelin.se/rewrite-rule-tester/,当我使用folder/1234的输入时,会将其重定向到redirect_domain.com/folder/index.php?id=1234,这正是您所要求的。除了<iframe之外,/folder/中不需要.htaccess ...或{{1}}中的任何实际文件...