2

我有一个基于 codeigniter 的网站,并试图让 PP IPN 使用它。我查看了一些 CI 特定库,但想要一个独立的 IPN 文件。

基本上,我在网站根目录中安装了 CI,并且我还有另一个目录“pp”,也在根目录中。

我正在尝试使用 Paypal 的沙箱测试 IPN,但它返回 404,我也无法直接访问该文件。

这是我的 .htaccess 文件:

XSendFile on
Options -Indexes
Options +FollowSymlinks
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

### Canonicalize codeigniter URLs
RewriteRule ^(index(/index)?|index(\.php)?)/?$ / [L,R=301]
RewriteRule ^(.*)/index/?$ $1 [L,R=301]

# Removes trailing slashes (prevents SEO duplicate content issues)
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)/$ $1 [L,R=301]

RewriteCond %{HTTP_HOST} !^(www) [NC]
RewriteRule ^(.*)$ http://www.mysite.net/$1 [L,R=301]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !^(index\.php|pp|robots\.txt)
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>

<IfModule !mod_rewrite.c>
# Without mod_rewrite, route 404's to the front controller
ErrorDocument 404 /index.php
</IfModule>

希望这真的很明显!

谢谢,

瑞安

4

2 回答 2

1

如果该pp目录存在,您可以在该目录中放置一个 htaccess 文件,然后:

RewriteEngine On

它本身就在其中,主 htaccess 文件中的任何规则都将被忽略。如果您的 paypal 内容已经在pp目录中的 htaccess 文件中具有重写规则,您可能希望将这些规则作为 404 的原因。

于 2012-09-25T08:53:00.110 回答
0

您是否启用了 mod_rewrite.c。如果不是,那 .htaccess 将始终给出 404。(抱歉,我无法对此发表评论,没有代表)。

于 2012-09-25T06:13:46.543 回答