我使用主题标题为“ Friend URL”,发现问号将导致err_too_many_redirects。我尝试使用
$topic->slug = urlencode($topic->title);
代替
$topic->slug = $topic->title;
但是它仍然使它出错。所以我用这种方式
$topic->slug = preg_replace("/[^A-Za-z0-9]/", "", $topic->title);
我不知道.htaccess上有问题吗?
这是我在Laravel 5.5中的.htaccess
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes
</IfModule>
RewriteEngine On
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
这是我在public_html(cpanel)中的.htaccess
<IfModule mime_module>
AddType application/x-httpd-ea-php72 .php .php7 .phtml
</IfModule>
RewriteEngine on
RewriteCond %{REQUEST_URI} !^public
RewriteRule ^(.*)$ website/public/$1 [L]
<IfModule php7_module>
php_flag display_errors Off
php_value max_execution_time 30
php_value max_input_time 60
php_value max_input_vars 1000
php_value memory_limit 8096M
php_value post_max_size 50M
php_value session.gc_maxlifetime 1440
php_value session.save_path "/var/cpanel/php/sessions/ea-php70"
php_value upload_max_filesize 50M
php_flag zlib.output_compression Off
</IfModule>
这是我的主题模型的一部分
public function link($params = []) {
return route('topics.show', array_merge([$this->id, $this->slug], $params));
}
这是我的控制器的一部分
return redirect($topic->link(), 301);
它的确切原因是什么?
我应该提供更多信息吗?