永久刪除「文件夾」雖然我已經通過其他具有相同主題的條目工作過,但我無法找到針對特定問題的解決方案。htaccess:用301
現在我的URL結構就像
www.abc.com/in/something/bla
我改變了一些設置和刪除/中/,現在的URL結構是
www.abc。 com/something/bla
我想永久重定向到新結構。
我發現@stackoverflow和web上的解決方案都不適用於我,因此我粘貼(部分)我的htaccess代碼。除了刪除/ in /之外,它完美地工作。
在此先感謝您幫助我!
<IfModule mod_rewrite.c>
# Enable Rewrite Engine
# ------------------------------
RewriteEngine On
RewriteBase/
# Redirect index.php Requests
# ------------------------------
RewriteCond %{THE_REQUEST} ^GET.*index\.php [NC]
RewriteCond %{THE_REQUEST} !/system/.*
RewriteRule (.*?)index\.php/*(.*) /$1$2 [R=301,L]
# Standard ExpressionEngine Rewrite
# ------------------------------
RewriteCond $1 !\.(css|js|gif|jpe?g|png) [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]
</IfModule>
# remove trailing slash
# 05.10.2012
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^(.+)/$
RewriteRule ^(.+)/$ /$1 [R=301,L]
謝謝,第二種解決方案的工作原理!你能簡單地解釋一下在這種情況下mod_alias和mod_rewrite之間的區別嗎?我的意思是:他們中的一個比另一個「更好」? – BNetz
@BNetz One不比另一個更好,它們只是2個不同的模塊,它們碰巧有一些重疊的功能。 Mod_alias用於將URI路徑映射到文件路徑以及重定向。 Mod_rewrite以某種編程/有條件的方式更改URI路徑,並且還具有重定向能力。在你的情況下,mod_rewrite解決方案可能效果更好,因爲當你有別名和重寫時,它們可能會相互干擾。 –
感謝您的明確解釋和您的幫助! – BNetz