好吧我正在尝试使用Lando(landocms.com),我正试图让漂亮的网址选项工作。
默认情况下,Lando默认会创建以下链接:domain.com/index.php/page。据说,有一种方法可以删除index.php,使链接成为:domain.com/page。我按照指示创建了一个.htaccess,但它不起作用。
这是我正在使用的.htaccess:
<IfModule mod_rewrite.c>
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
我尝试了很多变种,/ index.php /,index.php?还有更多,但没有工作。根据HostGator一切都应该没问题。有什么想法吗?我想我会疯了哈哈。
谢谢!
答案 0 :(得分:2)
重写CMS是一种双层方法。首先,您需要设置.htaccess
(我已经为您安排了一个更安全的地方):
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .+ index.php [QSA,L]
然后,LandoCMS允许您通过打开管理面板中的相应设置从生成的地址中删除index.php
。有关详细信息,请参阅this link。
如果我提供的.htaccess
内容不起作用,那么只需使用CMS提供的内容即可。
答案 1 :(得分:0)
您想要从任何网址中删除index.php
部分,但仍会通过index.php
处理传入的友好网址
RewriteEngine On
# remove index.php and redirect client
RewriteCond %{ENV:REDIRECT_SEO} ^$
RewriteRule ^/?index.php/(.*) /$1 [R,L]
# process friendly URL
RewriteCond %{REQUEST_URI} !^/index.php/
RewriteRule .+ /index.php/$0 [E=SEO:1,L]
环境设置E=SEO:1
可以防止无限循环。