0

我的网站中用户或搜索引擎链接到它的任何链接,并在它只显示没有任何图像的文本之后添加一个斜杠,并且该页面中的任何链接都没有打开它的路径,而是在第一个 url 之后,所以它再次打开该网址!

例子:

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
4

2 回答 2

2

在您的 html 内容中,您需要将相对链接(不以 a 开头的/链接)更改为绝对链接(以 a 开头的链接)或在页面部分中/创建相对 URI 基础:<head>

<base href="/">
于 2013-09-02T17:28:19.030 回答
0

怎么样:

RewriteEngine on

RewriteCond %{REQUEST_URI} .*/$
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/?$ http://mysite.com/$1 [R=301,L]

/如果您的 URL 有一个并且不存在文件夹,这将删除结尾。

但是,就像 Jon Lin 在他的回答中提到的那样,如果您有一个多级文件,它将尝试将图像重写到最近的文件夹,因此使用 images/css/etc 的绝对 URL 是最佳选择。

于 2013-09-02T17:28:27.203 回答