自定义 htaccess

自定义 htaccess

我们有如下 URL;

 - mydomain.com/my-keyword/
 - mydomain.com/my-other-keyword/
 - mydomain.com/my-another-keyword/

并且

 - mydomain.com/my-keyword/a-page.html
 - mydomain.com/my-keyword/another-page.html
 - mydomain.com/my-other-keyword/some-page.html
 - mydomain.com/my-other-keyword/any-page.html
 - mydomain.com/my-another-keyword/another-page.html
 - mydomain.com/my-another-keyword/some-page.html

我们希望转换 (301) 所有没有/例如mydomain.com/my-another-keyword-> 创建的 URL 到 ->mydomain.com/my-another-keyword/而不损害 URL 结构的其余部分。

有任何想法吗?

答案1

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ http://mydomain.com/$1/ [L,R=301] 

如果文件存在:不添加斜线,如果它不是文件:添加斜线

答案2

只要路径中的“目录”不包含 ,这对您来说就应该有效。

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

相关内容