2010-06-07 47 views
0

我遇到了一个我无法理清的.htaccess规则问题。它适用于我的MAMP堆栈,它可以在其他3台服务器上运行,但它不能在特定的服务器上运行,并且一直给我一个“500错误和额外的302错误”。.htaccess通配符问题

这是从谷歌研究中抛出它的通配符,它​​表示它可能是由于无限循环,但它适用于其他服务器就好了。

有问题的网站是在子目录正在开发中,但话又说回来,所以有其他网站:

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

RewriteRule ^$ public/ [L] 
RewriteRule (.*) public/$1 [L] 

/大众都有自己的.htaccess文件是:

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

RewriteRule ^(.*)$ index.php?url=$1 [PT,L] 

为的mod_rewrite的任何建议不是我的专业,我似乎无法修复this.2

回答

0

尝试

主:

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteBase /subdir 

RewriteRule ^$ public/ [L] 
RewriteRule (.*) public/$1 [L] 

/公众的.htaccess

RewriteBase /subdir/public 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

RewriteRule ^(.*)$ index.php?url=$1 [PT,L] 

任何运气?

+0

不 - 它找不到/ public(这是正确的,因为它是subdir/public),但只要我将第一个更改为(。*)subdir/public/$ 1 [L]我再次得到500错误。我在各个部分尝试了subdir,并且都出现了500或302错误。根据信息更新答案 – niggles 2010-06-08 00:05:25

+0

- 有没有运气?我建议它,因为一些主机有问题,如rackspacecloud,godaddy等 – 2010-06-08 00:44:47

+0

你知道什么,它不是.htaccess - 我剥离/public/index.php文件到什么都没有,它的工作...不断添加行回来而事实证明这个服务器正在与数据库会话存储紧密相连!调用session_start()会导致500错误,但仅在使用我的数据库存储类时发生。哦,新的问题排序:-) – niggles 2010-06-08 02:12:48