我的网站中的任何链接,用户或搜索引擎链接到它并在显示文本后只添加斜杠而没有任何图像,并且该页面中的任何链接都不对其路径开放,但在第一个网址之后,所以它再次打开该网址!
示例:
http://www.mysite.com/page1.html
工作正常。
但这不是:
http://www.mysite.com/page1.html/
我没有使用css文件,也没有使用cms,只是普通的html文件。服务器是Ubuntu Linux 12.04.1。
这是.htaccess:
ErrorDocument 404 http://mysite.com/error404.php
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} !^mysite.com\.org
RewriteRule (.*) http://mysite.com/$1 [R=301,L]
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?mysite.com/.*$ [NC] [OR]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?mysite.com.*$ [NC] [OR]
RewriteCond %{HTTP_REFERER} !^http://?mysite.com/.*$ [NC] [OR]
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
答案 0 :(得分:2)
在您的html内容中,您需要将相对链接(不以/
开头的链接)更改为绝对链接(以/
开头的链接)或创建亲戚页面<head>
部分中的URI基础:
<base href="/">
答案 1 :(得分:0)
怎么样:
RewriteEngine on
RewriteCond %{REQUEST_URI} .*/$
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/?$ http://mysite.com/$1 [R=301,L]
如果您的网址有一个且不是现有文件夹,则会删除结尾/
。
然而就像Jon Lin在他的回答中提到的,如果你有一个多级文件,它会尝试将图像重写到最近的文件夹,所以使用绝对URL到images / css / etc是最好的选择。