2013-02-20 57 views
0

好吧我试图使用Lando(landocms.com),我试图让漂亮的URL选项工作。.htaccess被忽略?不重定向像它应该

基本上默认情况下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

你确定正在读取.htaccess文件,并且你的虚拟主机允许.htaccess文件吗?你可以确定它是通过引发语法错误来读取的 - 只需在文件的顶部写入asdf。 – 2013-02-20 05:03:32

+0

在正确的目录“/ public_html /” – rusly 2013-02-20 05:03:42

+0

文件.htaccess @JacobDalton试过了,给了我一个500错误,所以我猜它正在被读取。 – user2089001 2013-02-20 05:21:55

回答

2

重写CMS是一种双层方法。首先,你需要(在这里我已经把一个更安全的一个给你)设置你的.htaccess

Options +FollowSymLinks 
RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule .+ index.php [QSA,L] 

然后,LandoCMS允许您删除从生成的地址index.php,在打开相应的设置方法管理小组。有关更多信息,请参见this link

如果我给您的.htaccess内容不起作用,那么只需使用CMS给您的内容即可。

+0

+1有关信息。 – 2013-02-20 05:18:33

+0

然而,感谢你们,我试过你的.htaccess,它没有改变任何东西。 :(我目前正在使用提供的.htaccess,但它也不值得。我已经开始从链接中删除index.php。 – user2089001 2013-02-20 05:30:16

+0

我开始怀疑这是不是''。 htaccess'问题...所有的东西实际上都是被路由的,但是我不认为LandoCMS正在处理它。 – 2013-02-20 05:39:58

0

你想从任何URL删除index.php部分,而是通过index.php处理传入的,友好的URL仍然

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防止无限循环。

+0

这个人看起来好像完全有道理!不幸的是,它也无济于事。 :/虽然欣赏帮助! – user2089001 2013-02-20 16:52:32

+0

@zakoll它在本地机器上的虚拟主机上运行。也许你有一些apache设置,你还没有提到。 – 2013-02-20 18:49:43

+0

什么是您的主机设置?我刚刚发现我的主机运行的是PHP 5.2,所以我升级到了5.3(导致页面上的一个PHP消失),但是仍然没有使用这个URL。 – user2089001 2013-02-20 21:23:40