在/之后解析url中的参数

时间:2014-02-25 16:24:21

标签: php .htaccess mod-rewrite url-parameters

我有我的网站:www.mysite.com /

我想让网址的最后一部分输入个人资料:www.mysite.com/profile/NAME

我如何获得NAME(在PHP中)以及运行代码的位置,因为它将NAME作为文件夹。

2 个答案:

答案 0 :(得分:1)

以下是我的.htaccess文件中的内容,它适用于prod

它的名称如www.website.com/userprofile,并放入名为www.website.com/webpage.php?u=userprofile

的链接
# PROFILER
RewriteEngine On
# force non-www domain
RewriteCond %{HTTP_HOST} ^www\.website\.com [NC]
RewriteRule (.*) http://website.com/$1 [R=301,L] 

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^([\w_|-]+)$ webpage.php?u=$1 [L,QSA]
RewriteRule ^([\w_|-]+)\/$ webpage.php?u=$1 [L,QSA]

答案 1 :(得分:0)

您的问题似乎有点不清楚。要访问网址的部分内容以进行操作:

查看超级全局$ _SERVER []。它有各种可能对您有用的选项。具体做法是:

  

'PHP_SELF'当前正在执行的脚本的文件名,相对于   文档根目录。例如,脚本中的$ _SERVER ['PHP_SELF']   地址www.example.com/foo/bar.php将是/foo/bar.php。该    FILE 常量包含当前(即包含)文件的完整路径和文件名。如果PHP作为命令行处理器运行   此变量包含自PHP 4.3.0以来的脚本名称。以前呢   没有。

http://www.php.net/manual/en/reserved.variables.server.php

如上所述, FILE 常量可能会有所帮助,或者您可以使用:

explode("/", $_SERVER['PHP_SELF']);

将给出哈希值:

{0 => "foo", 1 => "bar.php"}

虽然要小心。如果您允许任意查询并使用这些查询来访问服务器上的文件,则可能会引入严重的安全问题。

如果相反,您的意思是您希望网址显示为您所写的:

http://httpd.apache.org/docs/current/mod/mod_rewrite.html