2013-02-21 28 views
0

我想在非現有文件(應該是我的視圖)的情況下重寫URI,如下所示:使用.htaccess重寫http://example.com/any/path到http://example.com/any

http://example.com/test/path/examplehttp://example.com/test

我已經刪除結尾的斜槓這個規則:

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_URI} (.*)$ 
RewriteRule ^(.+)/$ $1 [R=301,L] 

我有什麼要添加到我的.htaccess文件,以獲得所需的功能?

+0

在要傳遞的URL-路徑替換URL的實際規則,所以,當該路徑應該被刪除,並且當應該傳遞? – 2013-02-21 10:18:46

+0

@faa如果它包含斜線,則應刪除第一個斜線以及之後的所有內容。 – 2013-02-21 10:32:30

+0

但在你的規則中,它也必須有一個斜線,所以有什麼區別? – 2013-02-21 10:35:18

回答

1

提供的未使用的規則集的問題,你可以試試這個:

Options +FollowSymlinks -MultiViews 
RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/]+)/.+/? $1? [R=301,L] 

重定向永久

http://example.com/folder/with/any/path或任何查詢

要:

http://example.com/folder

所有字符串都是假定是可變的。

對於無聲映射替換[R = 301,L]與[L]

+0

我編輯了我的問題以清除誤解;抱歉,因爲模糊不清! – 2013-02-21 11:48:16

+1

所以你需要在'http:// example/test'之後刪除任何路徑。對? – 2013-02-21 11:50:03

+0

是的,沒錯! – 2013-02-21 11:51:37