为wordpress网站使用一致的URL结构有明显的优势。
我希望我的所有网址都以/(主页和内部网页网址)结尾。让我给出一个示例网站,它非常有效地处理它,以便URL不以斜杠结尾或以多个斜杠结尾,而是通过单斜杠重定向到URL。
http://viralpatel.net/blogs
301重定向到viralpatel.net/blogs /
http://viralpatel.net/blogs//
301重定向到viralpatel.net/blogs /
http://viralpatel.net/blogs/
200确定
http://viralpatel.net/blogs/check-string-is-valid-date-java
301重定向到http://viralpatel.net/blogs/check-string-is-valid-date-java/
http://viralpatel.net/blogs/check-string-is-valid-date-java//
301重定向到http://viralpatel.net/blogs/check-string-is-valid-date-java/
http://viralpatel.net/blogs/check-string-is-valid-date-java/
200确定
知道什么.htaccess规则可以帮助实现这一目标。我目前的.htaccess看起来像:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^javaexperience.com [NC]
RewriteRule ^(.*)$ http://www.javaexperience.com/$1 [R=301,L]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
答案 0 :(得分:1)
您无法处理以//
结尾的网址,因为在处理URI之前规则化了斜杠,因此mod_rewrite永远无法匹配//
(它只会看到一个/
)。要处理这个问题,您可能需要浏览器方面的内容。对于no斜杠,请在当前htaccess的RewriteBase
行上方添加:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*[^/])$ /$1/ [L,R=301]