2013-10-23 70 views

回答

0

添加這些規則的htaccess文件你的文檔根:

RewriteEngine On 
RewriteRule ^([^/]+)/.+$ /$1/ [L,R=301] 

不知道你的粘貼所有不可讀的代碼中的註釋是什麼意思,但你要添加的排除條件,就像我在我的評論中提到:

AddType application/octet-stream vcf 

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteCond %{REQUEST_URI} !\.(css|js)$ [NC] 
RewriteRule ^([^/]+)/.+$ /$1/ [L,R=301] 

RewriteBase/
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_URI} !^/wp-content/themes/myTheme/style.css 
RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 
# END WordPress 

此行是排除,因爲!

RewriteCond %{REQUEST_URI} !\.(css|js)$ [NC] 

這意味着如果URI與.css.js然後結束不應用規則。您可以根據需要添加其他人。假設你不想重定向一個URI,如:/foo/bar/no-redirect/,那麼還要加上:

RewriteCond %{REQUEST_URI} !^/foo/bar/no-redirect/ 
+0

這適用於客戶端網址,但打破了我的鏈接到CSS/JS /等 - 思考? –

+0

我想我的問題在這一點上是如何做以上解決方案的所有,但具體路徑? –

+0

@ user2913260您可以在'RewriteRule':'RewriteCond%{REQUEST_URI}!^/some/path/file.css'之前添加這個條件(或其中的任意數量)來排除特定路徑,您可以爲每個路徑或文件,你不想重定向。 –

0

啓用通過httpd.confmod_rewrite.htaccess,然後把這個代碼在你DOCUMENT_ROOT/.htaccess文件:

RewriteEngine On 

RewriteRule ^([^/]+/).+$ /$1 [L,R=301] 
+0

如何將其更改爲僅指定特定目錄中的URL?所以'http:// example.com/dir/subdir'會保持原樣,但是'http:// example.com/redir/subdir'會重定向到'http://example.com/redir/?東西= subdir'。 – TricksfortheWeb