2012-10-03 74 views
1

例如,對於www.example.com/foo/dosomething/,我有這樣一個htaccess的文件:如何編寫一個htaccess規則,爲URL添加尾隨正斜槓?

RewriteEngine On 

RewriteRule ^dosomething/$ myfile.php [L] 

這htaccess文件是我foo的目錄,它確實存在裏面。但後來我意識到,輸入url的用戶可能會忘記後面的正斜槓,因此他們可能會輸入:www.example.com/foo/dosomething,然後他/她將得到404。我不想那樣,所以我寫了這個:

RewriteRule ^dosomething/$ myfile.php [L] 

但後來我想起來,這不是SEO友好,因爲兩個'網頁'有完全相同的內容。所以我現在想要的是,如果網址在最後沒有尾部正斜槓,htaccess可以重定向,例如:www.example.com/foo/dosomethingwww.example.com/foo/dosomething/

回答

1

嘗試:

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

myfile.php規則之前。 301重定向將確保搜索引擎索引將2個URL相等。

+0

爲什麼給我'/ foo/myfile.php /'? – think123

+0

@ think123是* rewriteRule $ dosomething/^ myfile.php [L]'規則之前的規則嗎? –

+0

是的,是的。你會友善地提供整個事情嗎?我可能在那裏出了問題。 – think123

相關問題