有一些网站,例如:
http://example.org
在顶级域名之后,我想禁止放置点:
http://example.org.
我的.htaccess(相关部分):
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)\./?$ /$1 [L,R=301]
...
</IfModule>
这适用于此类请求,例如:
http://example.org/news./ -> http://example.org/news/
http://example.org/solutions./ -> http://example.org/solutions/
但如果我把点放在第一级域之后,这个点仍然是:
http://example.org./ -> http://example.org.
http://example.org. -> http://example.org.
如何使用mod_rewrite删除TLD之后的尾随点?
我将非常感谢这些信息。谢谢大家。
答案 0 :(得分:1)
您可以在RewriteBase
行下方插入此规则,以删除域名中的尾随点:
RewriteCond %{HTTP_HOST} ^(.+?)\.$
RewriteRule ^ http://%1%{REQUEST_URI} [L,R=302,NE]
我发现,域名中的Web服务器允许使用尾随DOT。即使https://www.google.com./
和https://www.google.com/
的工作方式相同。