通过.htaccess.重定向除某些特定流量以外的所有流量。。?
我在通过.htaccess.重定向除某些特定流量以外的所有流量。。?,.htaccess,cpanel,.htaccess,Cpanel,我在example.com/DesktopModules/SubscriptionSignup/Tools/IPNHandler.aspx上有一个文件需要重写,以便它实际运行example.com/paypal ipn handler.php 不过,所有其他流量都应该重定向到另一个example.com 我正在.htaccess文件中使用此选项: # Rewrite IPNHandler.aspx to paypal-ipn-handler.php <IfModule mod_rewrit
example.com/DesktopModules/SubscriptionSignup/Tools/IPNHandler.aspx
上有一个文件需要重写,以便它实际运行example.com/paypal ipn handler.php
不过,所有其他流量都应该重定向到另一个example.com
我正在.htaccess文件中使用此选项:
# Rewrite IPNHandler.aspx to paypal-ipn-handler.php
<IfModule mod_rewrite.c>
RewriteCond %{REQUEST_URI} ^/Tools/IPNHandler.aspx [NC]
RewriteRule ^.*$ https://www.example.com/paypal-ipn-handler.php [P]
</IfModule>
#Redirect all other traffic to new domain.
RewriteRule ^ https://www.another-example.com%{REQUEST_URI} [L,R=301]
#将IPNHandler.aspx重写为paypal-ipn-handler.php
RewriteCond%{REQUEST_URI}^/Tools/IPNHandler.aspx[NC]
重写规则^.*$https://www.example.com/paypal-ipn-handler.php [P]
#将所有其他通信重定向到新域。
重写规则^https://www.another-example.com%{REQUEST_URI}[L,R=301]
但是,它重定向了所有内容,包括应该留在这个域中的URL,但会被重新写入PHP文件
例如,有了上述内容,我希望example.com/DesktopModules/SubscriptionSignup/Tools/IPNHandler.aspx
的通信量将保持在example.com
,而运行PHP脚本。然而,这并没有发生。它被重定向到另一个example.com/…/IPNHandler.aspx
,当然给了我一个404
任何关于我如何调整它的信息,以便我的重写工作并保持在原始域上,但所有其他流量都被重定向,我们将不胜感激。谢谢
编辑
实际上,我注释掉了重定向以查看我的重写是否有效,它实际上给了我一个404,但是当我直接点击paypal-ipn-handler.php时,我得到了预期的输出
看来我需要比我想象的更多的帮助,请,谢谢 您可以在站点中使用这些规则。htaccess:
RewriteEngine On
RewriteRule Tools/IPNHandler\.aspx$ /paypal-ipn-handler.php [L,NC]
#Redirect all other traffic to new domain.
RewriteRule !^paypal-ipn-handler\.php$ https://www.another-example.com%{REQUEST_URI} [L,NC,NE,R=301]
这里不需要使用p
标志,因为您只需要内部重写
条件<代码>^paypal ipn handler\.php$将重定向除/paypal ipn handler.php
之外的所有内容
确保使用新浏览器进行测试或在完全清除浏览器缓存后进行测试