[英]Extracted json url from example.com/myjsonsql.php to jquery mobile fail to return value
[英]Nginx rewriteurl from example.com/script.php?param=value to example.com/value
我有一个接受单个参数的PHP脚本。
我的项目结构如下:
index.php
i.php
terms.php
functions
includes
icons
resources
我要重写其URL的脚本是i.php
from
example.com/i.php?icon=id
至
example.com/id
同时确保其他所有内容都可以正常访问(例如example.com/terms.php
)。
我怎么做?
编辑这可能会有所帮助。 这是我以前在apache服务器上使用的.htaccess文件:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^(\w+)$ ./i.php?icon=$1
您正在寻找类似的东西,
if ($query_string ~ .*=(.*)){
return 301 $scheme://site.com/$1;
}
但这不是那么简单。 这会将带有查询字符串和等号(不只是i.php
)的所有 URL重定向到site.com/everything_after_the_equal_sign
。 如果只希望将其应用于i.php
,则需要为其创建一个位置块。
location /i.php/ {
if ($query_string ~ .*=(.*)){
return 301 $scheme://site.com/$1;
}
如果您具有这样的现有位置块,则需要添加此if语句。 如果您要从通用位置块提供所有PHP内容,例如
location ~ \.php$ {
#your config here
}
那么您需要在通用块上方专门添加/i.php/
。
最重要的是 :
如果是邪恶的(请参阅此处 )。 如果location块中包含if语句,则这将适用于您。 如果可以,请尝试重写代码以在内部进行这些重定向。 否则,如文档指出, if
有时是不可避免。
我希望这有帮助。
我已经通过使用它来工作了:
location / {
try_files $uri $uri/ /i.php?icon=$uri;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.