在我的配置文件中,我有:
$config['url_suffix'] = "/";
这是我的.htaccess:
Options +FollowSymLinks
Options -Indexes
DirectoryIndex index.php
RewriteEngine on
RewriteCond $1 !^(index\.php|resources|images|css|js|robots\.txt|favicon\.ico)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^.+[^/]$
RewriteRule ^(.+)$ $1/
RewriteRule ^(.*)$ index.php?/$1 [L,QSA]
当我加载页面时,我没有得到尾随斜杠。我正在使用URI路由,但即使我转到控制器/视图的实际路径,我仍然没有得到尾随斜杠。
我做错了什么?我尝试在.htaccess的最后一行中的.php之后删除斜杠,但是没有这样做。
即使我添加“.html”作为我的网址后缀,也不会添加。那不是我的.htaccess。
如果我试图改为$route['news-and-events'] = "news";
:$route['news-and-events/'] = "news";
我收到404错误
编辑:使用上面的.htaccess我收到一个错误,我正在使用不允许的字符,即使我在配置文件中添加“/”到我允许的字符串。
答案 0 :(得分:1)
找到一个适合我的版本,将我的Blogger帖子导入我的Wordpress,然后我的后台链接无法正常工作,所以我只是用这个例子替换了我的.htaccess,看看吧!
http://www.high-on-it.co.za/2011/02/removing-trailing-html-from-url/
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} \.html$
RewriteRule ^(.*)\.html$ $1 [R=301,L]
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]