<Directory />
Options FollowSymLinks
AllowOverride None
Require all denied
</Directory>
<Directory /usr/share>
AllowOverride None
Require all granted
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
<Directory /var/www/html/portal>
Options +SymLinksIfOwnerMatch
RewriteEngine On
RewriteCond %{REQUEST_URI} !(/$:\.)
RewriteRule (.*) %{REQUEST_URI}/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ dashboard.php?url=$1 [L]
</Directory>
最后一个目录定义导致无限循环,在Chrome触发重定向循环错误之前,/
会附加到网址大约10次。
我不确定为什么会这样,因为我在另一台服务器上使用了相同的设置并且工作正常。这有什么不对吗?我要做的就是在请求的网址后附加一个/
(如果尚未存在)。
为什么这是循环的任何想法?
答案 0 :(得分:1)
尝试更改此行:
RewriteCond %{REQUEST_URI} !(/$:\.)
对此:
RewriteCond %{REQUEST_URI} !(\.|/$)