2016-05-29 102 views
1

我想在我的htaccess文件中創建重定向。從url與index.php到沒有index.php的頁面,但僅限於一個特定的文件夾「目錄」。htaccess從index.php重定向到/只在特定文件夾中

例如:

/catalog/some_folder/index.php/catalog/some_folder/

/catalog/some_folder/etc/index.php/catalog/some_folder/etc/

這樣/catalog2/some_folder/index.php URL不必須重定向

我嘗試添加這些行(本地主機,因爲它是xampp):

RewriteCond %{REQUEST_URI} /catalog/+[^\.]+index.php$ 
    RewriteRule ^index\.php$ localhost/$1 [R=301,L] 

但這沒有奏效。我如何強制這個工作正確?

回答

0

可以在根的.htaccess使用這樣的規則:

# remove index.php 
RewriteCond %{THE_REQUEST} /index\.php [NC] 
RewriteRule ^(catalog/.+)index\.php$ /$1 [L,R=302,NC,NE] 
+0

我的配置中有一些東西一定是錯的,它發送給我一個級別(我在localhost/myproject/index.php中)和(它將我發送到localhost /) – DragonFire

+0

爲了使它在'/ myproject'中正常工作將最後一條規則中的目標URI更改爲'/ myproject/$ 1' – anubhava

0

要刪除的index.php:

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /index.php?/$1 [L] 

記住,你將需要激活的mod_rewrite。

0
RewriteEngine On 
RewriteCond %{THE_REQUEST} (?:/[^/]*)*/index\.php[?#\ ] 
RewriteRule .* %{REQUEST_URI}/../ [L,R=301] 

對我來說,這是工作上面的解決方案是給我到一個文件夾上一級。