我制作了这个.htaccess文件,试图删除链接上的最终斜杠,但它不会删除,也不会重定向任何其他内容,如果你访问例如:mydomain.com/fruit它重定向到mydomain.com/fruit/我想要恰恰相反(水果目录是一个例子,我有很多它的内部每个我有一个index.php文件或其他类型的文件,只有一些是空的)。 我已经尝试了两种不同的方式(从一些网站复制),没有人按我的意愿工作。
代码一:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^mydomain.com
RewriteRule ^ http://www.mydomain.com%{REQUEST_URI} [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^(.+)/$
RewriteRule ^(.+)/$ /$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)$
RewriteRule (.*) http://www.mydomain.com/$1 [L,R=301]
代码二:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^mydomain.com
RewriteRule ^ http://www.mydomain.com%{REQUEST_URI} [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)$
RewriteRule (.*) http://www.mydomain.com/$1 [L,R=301]
我的实际文件(但我的真实域名):
RewriteEngine On
RewriteCond %{HTTP_HOST} ^mydomain.com
RewriteRule ^ http://www.mydomain.com%{REQUEST_URI} [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/+$ http://www.mydomain.com/$1 [L,R=301]
Options All -Indexes
<Files .htaccess>
order allow,deny
deny from all
</Files>
如果我评论此行: RewriteCond%{REQUEST_FILENAME}!-d Chrome给我一个错误:错误310(net :: ERR_TOO_MANY_REDIRECTS)。
任何人都可以帮我处理.htaccess文件的代码吗? 谢谢你提前。
答案 0 :(得分:1)
您应该在Apache webserver添加的尾部斜杠上阅读此内容 http://httpd.apache.org/docs/current/mod/mod_dir.html 希望这有帮助