2010-12-22 71 views
0

我有3個規則:mod_rewrite的 - 不能合併規則

# DEL www. from URL 
    RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] 
    RewriteRule ^(.*)$ http://%1/$1 [R=301,L] 

    # DEL /index.php fron URL 
    RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^/]+/)*index\.php\ HTTP/ 
    RewriteRule ^(([^/]+/)*)index\.php$ http://some-site.kiev.ua/$1 [R=301,L] 

    # ADD/to URL 
    RewriteRule ^([^.]+[^./])$ /$1/ [R=301,L] 

所有規則獨立工作,但是當你在同一時間使用它們 - 有一個循環,該網站不開放。 ..

幫助,請結合他們

+0

你在哪個URL上得到一個循環?你可以發佈wget的輸出嗎? – itsadok 2010-12-22 14:22:32

回答

0

這是沒有意義的,我:

# DEL /index.php fron URL 
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^/]+/)*index\.php\ HTTP/ 
RewriteRule ^(([^/]+/)*)index\.php$ http://some-site.kiev.ua/$1 [R=301,L] 

如果你想從網址中刪除/index.php,你可以只使用

RewriteRule ^(.*)/index\.php$ $1 

此外,您的第一條規則在路徑的開頭添加一個額外的斜槓。可能沒關係,但仍然。