2013-02-20 56 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