我有一个处理数据导入的PHP系统(使用来自其他系统的HTTP POST请求)。我正在开发一个SOAP Web服务,基本上是作为现有功能的包装器。
目前,用户发送其CSV文件的POST请求如下所示:
https://www.mysite.com.au/_pag/shop/ABC/?sec=import/orders&pag=new
我想稍微清理一下,并使用类似于https://www.mysite.com.au/api
的网址这可能听起来是开放式的,但是在没有破坏现有功能的情况下实现此的典型方法是什么?在根目录中使用.htaccess
?
现有功能将查看URL,以便知道在哪里查看包含javascripts和css文件等资产。
我认为这样的事情会起作用,但我不完全确定如何实现它:
$_REQUEST
和$_GET
变量进行硬编码。.htaccess
规则基本上将/ api的任何内容路由到index2.php。上述声音是否正确?什么类型的.htaccess
规则会这样呢?
我的.htaccess看起来像:
RewriteEngine On
RewriteRule ^api$ phpinfo.php
ErrorDocument 404 /error.php
php_flag display_errors on
php_flag display_startup_errors on
php_flag file_uploads on
php_value error_reporting 2047
php_value max_input_time 60
php_value post_max_size 8M
php_value upload_max_filesize 2M
答案 0 :(得分:2)
您正在寻找网址重写。你的根.htaccess可以有类似的东西:
RewriteEngine On #once
RewriteRule ^products/([0-9]+)/?$ product.php?product_id=$1
这将“重写”/路由请求到site.com/products/5到site.com/product.php?product_id=5。
在你的情况下:
RewriteRule ^api$ _pag/shop/ABC/?sec=import/orders&pag=new
我建议您阅读here。有点健谈,但深入。