使用Slim Framework的htaccess的mod重写问题

时间:2013-01-29 21:00:49

标签: php .htaccess slim

我正在为一个客户开发应用程序,在该应用程序中,他们的网站上有一些wordpress博客 http://www.chasethepaper.com

在root中,htaccess文件是

<IfModule mod_rewrite.c>
RewriteEngine On
 RewriteBase /
 RewriteCond %{REQUEST_URI} !^/(yumninja_app_1_0|yumninja_app_1_0/.*)$
 RewriteRule ^index\.php$ - [L]
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteRule . /index.php [L]
 </IfModule>

在根目录中,我有一个名为

的文件夹
'yumninja_app_1_0'

在'ap'文件夹中我有一个带

的htaccess

如果你去 http://chasethepaper.com/yumninja_app_1_0/api/

它显示了索引页面,这是正确的 但是,如果你去

http://chasethepaper.com/yumninja_app_1_0/api/getReviews 它返回wordpress 404

这是api文件夹中的htaccess文件

RewriteEngine On

# Some hosts may require you to use the `RewriteBase` directive.
# If you need to use the `RewriteBase` directive, it should be the
# absolute physical path to the directory that contains this htaccess filwe.
#
# RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^/(yumninja_app_1_0|yumninja_app_1_0/.*)$
RewriteRule ^(.*)$ index.php [QSA,L]

<IfModule Mod_php.c> 
 php_value upload_max_filesize 10M
 php_value post_max_size 20M
 php_value memory_limit 32M
</IfModule>

我真的不确定为什么这不起作用。几天前。我知道/ getReviews是有效的,因为我将相同的文件夹结构复制到另一个服务器并且它正常工作 http://javadash.com/yumninja_app_1_0/api/getReviews

2 个答案:

答案 0 :(得分:0)

如果服务器是apache,请查看error.log文件,它应该提供有关问题的有用信息。

答案 1 :(得分:0)

我明白了。那是因为我有

RewriteCond %{REQUEST_URI} !^/({app_name}|{app_name}.*)$

在api文件夹中的.htaccess文件中。一旦我删除它,它就有效了