-1

我想知道如何让系统在 php 或 jsp 中没有 GET 的情况下从 url 读取参数。例如:www.example.com/action/logout/将与www.example.com?action=logout.

谢谢。

4

2 回答 2

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的内容被省略,但查询被传递到子目录。您将需要使用正则表达式定制您选择的最终规则

于 2013-06-04T20:50:24.840 回答
0

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

RewriteEngine on

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

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

于 2013-06-04T20:46:30.847 回答