Php 不带GET的URL参数
我想知道如何使系统从url读取参数,而不必使用php或jsp。 例如:Php 不带GET的URL参数,php,jsp,Php,Jsp,我想知道如何使系统从url读取参数,而不必使用php或jsp。 例如:www.example.com/action/logout/与www.example.com?action=logout相同 谢谢。标准且流行的方法是使用.htaccess文件。您应该学习如何为此使用.htaccess重写规则。它应该是这样的: RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^/]+)/([^/]+)(/.*)?$ $3
www.example.com/action/logout/
与www.example.com?action=logout
相同
谢谢。标准且流行的方法是使用.htaccess文件。您应该学习如何为此使用.htaccess重写规则。它应该是这样的:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/([^/]+)(/.*)?$ $3?$1=$2 [N,QSA]
RewriteRule ^(/[^/]+|[^/]+/|/?)$ /index.php [L,QSA]
这将在Apache级别运行,这可能是您想要的。如果您希望格式化干净的URL,建议在.htaccess文件中使用RewriteRule
RewriteEngine ON
RewriteRule ^(.*)action/([a-zA-Z0-9]+).*$ $1?action=$2
这将导致服务器进行解释
www.example.com/action/logout/
作为
以及
www.example.com/subdirectory/action/logout/otherstuff
作为
注意,添加的
/otherstuff
被省略,但查询被传递到子目录。您将需要使用regex来定制您选择的最终规则,从重写规则开始。您是否试图在没有GET的情况下执行此操作,或者您是在暗示您无法使用GET,因为URL是如何格式化的?我知道如何使用GET。但我认为另一种方式更干净。正如@Brad提到的,使用url重写。基础教程:
www.example.com/subdirectory/action/logout/otherstuff
www.example.com/subdirectory/?action=logout