Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mod rewrite mod_rewrite:如何剥离查询字符串的url并保留其值_Mod Rewrite_Query String - Fatal编程技术网

Mod rewrite mod_rewrite:如何剥离查询字符串的url并保留其值

Mod rewrite mod_rewrite:如何剥离查询字符串的url并保留其值,mod-rewrite,query-string,Mod Rewrite,Query String,我想使用mod_rewrite删除其查询字符串的URL,但保留querystring的值,例如,我想更改: http://new.app/index.php?lorem=1&ipsum=2 为了干净整洁: http://new.app/ 但保留lorem和ipsum的值,因此在index.php中: 仍将返回1等 这是我第一次尝试mod_rewrite,因此非常感谢您的帮助,如果您能准确解释您的解决方案是如何工作的,我也可以为下次学习一些 谢谢 我不太明白你到底想要什么。您的第一个U

我想使用mod_rewrite删除其查询字符串的URL,但保留querystring的值,例如,我想更改:

http://new.app/index.php?lorem=1&ipsum=2
为了干净整洁:

http://new.app/
但保留lorem和ipsum的值,因此在index.php中:

仍将返回1等

这是我第一次尝试mod_rewrite,因此非常感谢您的帮助,如果您能准确解释您的解决方案是如何工作的,我也可以为下次学习一些


谢谢

我不太明白你到底想要什么。您的第一个URL是外部表单,用户可以看到并在浏览器中键入该表单

第二个表单几乎删除了所有信息,因此当您将这些信息发送到服务器时,服务器如何知道lorem=1&ipsum=2

如果你的问题是真的

我如何使浏览器中的URL看起来很好,即使用户在网站的某个深处单击包含大量信息的URL

然后有两种解决方案:

您可以将少量信息传递给服务器,并将它们全部保存在一个会话中。我不喜欢这样,因为这样用户就无法获取URL,将其显示给朋友并让他看到相同的页面。 您可以将整个网站放在只包含一个页面的HTML中。这样,顶级窗口的URL不会更改,只有浏览器未显示的内部URL才会更改。 正如罗兰提到的,你似乎不理解重写的工作方式。通常使用apachemod_rewrite in.htaccess来完成,它会将漂亮的URL默默地重写到php脚本/index.php?lorem=1&ipsum=2

即使Joomla也使用.htaccess,只是它有一个重写规则,将所有内容传递给PHP脚本,而PHP脚本在PHP中进行实际的重写

您不了解的是,为了让php脚本获取$\u GET[lorem]的值,在pretty版本中仍然需要存在一些东西

那就好像http://new.app/lorem/ 或http://new.app/section/lorem 然后使用mod_rewrite in.htaccess重写php脚本

$_GET["lorem"]