我提供有关我网站环境的一些信息
我在根目录中有静态网页。
Wordpress安装在子词典www.domain.com/blog/
我有两个.htaccess,一个在根中,一个在wordpress中 文件夹中。
我想
一些例子
domain.tld / index.html>>使用domain.tld /
domain.tld / file.html>>使用domain.tld /文件/
domain.tld / file.html />>使用domain.tld /文件/
domain.tld / wordpress / post-name>>使用domain.tld / WordPress的/后名称/
ROOT htaccess中的代码是
<IfModule mod_rewrite.c>
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /
#removing trailing slash
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ $1 [R=301,L]
#www to non
RewriteCond %{HTTP_HOST} ^www\.(([a-z0-9_]+\.)?domain\.com)$ [NC]
RewriteRule .? http://%1%{REQUEST_URI} [R=301,L]
#html
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^\.]+)$ $1.html [NC,L]
#index redirect
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/
RewriteRule ^index\.html$ http://domain.com/ [R=301,L]
RewriteCond %{THE_REQUEST} \.html
RewriteRule ^(.*)\.html$ /$1 [R=301,L]
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /blog/
# Force Trailing Slash for wordpress
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)[^/]{1}$ %{REQUEST_URI}/ [L,R=301]
</IfModule>
以上代码
答案 0 :(得分:1)
对于网站root .htaccess:
这样做<IfModule mod_rewrite.c>
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /
#www to non
RewriteCond %{HTTP_HOST} ^www\.(([a-z0-9_]+\.)?domain\.com)$ [NC]
RewriteRule ^(.+?)/?$ http://%1/$1/ [R=301,L]
RewriteCond %{THE_REQUEST} \s/+(.+?)\.html/?[\s?] [NC]
RewriteRule ^ /%1/ [R=301,NE,L]
#index redirect
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/
RewriteRule ^index\.html$ http://%{HTTP_HOST}/ [R=301,L]
# add a trailing slash to non files
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*?[^/])$ %{REQUEST_URI}/ [L,R=301,NE]
# add html internally
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^.]+)/$ $1.html [L]
</IfModule>
确保在测试前清除浏览器缓存。
答案 1 :(得分:0)
RewriteEngine On
RewriteBase /
WWW to Non
RewriteCond %{HTTP_HOST} ^www.domain\.tld$ [NC]
RewriteRule ^(.*)$ http://domain.tld/$1 [L,R=301]
从网址
中删除index.htmlRewriteRule ^index.html$ / [L,R=301]
删除所有.html扩展名/将301重定向到不带.html扩展名的网址
RewriteRule ^([a-zA-z0-9]+).html$ /$1 [L,R=301]
向静态网页添加尾部斜杠/从非尾部斜杠重新定向301
RewriteRule ^([a-zA-z0-9]+).html$ /$1/ [L,R=301]
强制斜杠到Wordpress网页/从非尾部斜杠重新指向301
RewriteRule /blog/([^/]+) /blog/$1/ [L,R=301]