我有一个建立在codeigniter上的网站,我试图让PP IPN使用它。我查看了几个CI特定的库,但希望有一个独立的IPN文件。
基本上,我在网站root中安装了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>
希望它有一些非常明显的东西!
谢谢,
赖安
答案 0 :(得分:1)
如果pp
目录存在,您只需将htaccess文件放在该目录中即可:
RewriteEngine On
单独使用,主htaccess文件中的任何规则都将被忽略。如果您的paypal内容已经在pp
目录中的htaccess文件中有重写规则,您可能需要查看这些规则作为404的原因。
答案 1 :(得分:0)
你是否启用了mod_rewrite.c。如果没有,那.htaccess将总是给404.(抱歉,我无法将此评论作为评论,不要有代表)。