我想知道如何在不使用PHP或jsp的GET的情况下使系统从url读取参数。
例如:www.example.com/action/logout/
与www.example.com?action=logout
相同。
感谢。
答案 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级别运行,这可能是你想要的。