我想知道如何让系统在 php 或 jsp 中没有 GET 的情况下从 url 读取参数。例如:www.example.com/action/logout/
将与www.example.com?action=logout
.
谢谢。
如果您想格式化干净的 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
的内容被省略,但查询被传递到子目录。您将需要使用正则表达式定制您选择的最终规则
标准和流行的方法是使用 .htaccess 文件。您应该学习如何为此使用 .htaccess 重写规则。它应该看起来像:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/([^/]+)(/.*)?$ $3?$1=$2 [N,QSA]
RewriteRule ^(/[^/]+|[^/]+/|/?)$ /index.php [L,QSA]
这将在 Apache 级别运行,这可能是您想要的。