没有GET的URL参数

时间:2013-06-04 20:09:38

标签: php jsp

我想知道如何在不使用PHP或jsp的GET的情况下使系统从url读取参数。 例如:www.example.com/action/logout/www.example.com?action=logout相同。

感谢。

2 个答案:

答案 0 :(得分:1)

在您希望格式化干净URL的情况下,建议在.htaccess文件中使用RewriteRule

RewriteEngine ON
RewriteRule ^(.*)action/([a-zA-Z0-9]+).*$ $1?action=$2

这会导致服务器解释

www.example.com/action/logout/ 

作为

www.example.com?action=logout

以及

www.example.com/subdirectory/action/logout/otherstuff

作为

www.example.com/subdirectory/?action=logout

请注意,添加的/otherstuff被省略,但查询被传递到子目录。你需要使用正则表达式来定制你选择的最终规则

答案 1 :(得分:0)

标准和流行的方法是使用.htaccess文件。您应该学习如何使用.htaccess重写规则。它应该看起来像:

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/([^/]+)(/.*)?$ $3?$1=$2 [N,QSA]
RewriteRule ^(/[^/]+|[^/]+/|/?)$ /index.php [L,QSA]

这将在Apache级别运行,这可能是你想要的。