我遇到了一个我无法解决的.htaccess规则的问题。它适用于我的MAMP堆栈,它可以在其他3台服务器上运行,但它不能在特定服务器上运行,并且不断给我一个“500错误,另外还有302错误”。
这是通配符,它正在抛出它并且从谷歌研究它说它可能是因为无限循环,但它适用于其他服务器就好了。
有问题的网站正在一个子目录中开发,但是又一次,其他网站也是如此:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^$ public/ [L]
RewriteRule (.*) public/$1 [L]
/ public拥有自己的.htaccess文件:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?url=$1 [PT,L]
任何建议,因为mod_rewrite不是我的专长,我似乎无法解决这个问题.2
答案 0 :(得分:0)
尝试
主要:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteBase /subdir
RewriteRule ^$ public/ [L]
RewriteRule (.*) public/$1 [L]
/ public .htaccess
RewriteBase /subdir/public
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?url=$1 [PT,L]
运气好吗?