[英]How to redirect all POST requests via .htaccess?
因此,我希望將所有通過表單提交或通過AJAX進行的POST請求重定向到位於根目錄之外的單個文件(例如postManager.php
),如下所示:
_post
| ---postManager.php
|
public_html // root directory
| ---file_one.php
| ---file_two.php
該請求可能通過$.post("file_two.php");
來自file_one.php
$.post("file_two.php");
例如,它需要使用所有$_POST
數據直接轉到postManager.php
以便可以處理它。 考慮到它是共享主機,我只能訪問.htaccess
,我想從這里進行訪問。 到目前為止,我已經嘗試過以下方法:
RewriteEngine on
RewriteCond %{SERVER_PORT} !443
RewriteCond %{REQUEST_METHOD} POST
RewriteRule ^(.*)$ http://%{HTTP_HOST}/..? <-- and that's where I'm lost
請清楚地感謝對此的任何幫助!
...實際上,經過一定的嘗試后,我最終得到了該代碼解決方案:
所以,這是我的帖子ajax,它是由任何項目文件夾中的任何文件(直接指向根文件夾)制成的:
$.post( "/" , { variable : "myVar" } );
在這種情況下,它轉到mydomain.com
但實際上沒有,因為它被.htaccess重定向捕獲到一半,如下所示:
RewriteEngine on
RewriteCond %{REQUEST_METHOD} POST
RewriteRule ^(.*)$ postManager.php [QSA,L=307]
postManager.php:
print_r($_POST);
如果我要求通過.done(function(data){console.log(data)});
響應.done(function(data){console.log(data)});
它給了我:
Array ( [variable] => Myvar )
是否有人對此代碼有任何其他建議或意見,因為我不確定它是否正確和安全,以及它是否完全按照我所描述的方式工作。
您的Ajax請求應該指向postManager.php
的位置。 您無需為此修改.htaccess
文件。
例:
$.ajax({
url : 'post/postManager.php',
type : 'POST',
data : {},
dataType: 'json',
success : function(data) {}
});
希望對您有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.