【发布时间】:2011-01-02 07:55:23
【问题描述】:
到目前为止,我的网站有几个静态页面,其中之一是 /portfolio。除其他外,我的 htaccess 隐藏了 .html 扩展名。我想添加一个投资组合目录,但我不想将我现有的投资组合页面作为默认索引文件移动到投资组合目录中。我的 /portfolio 页面是我的 Google 附加链接之一,我担心如果它被移动或 URL 以某种方式发生变化,Google 会认为它是一个全新的页面。
我的问题是,一旦我添加了 /portfolio/ 目录,每当我尝试访问原始 /portfolio 页面时,就会自动添加一个尾部斜杠并链接到目录本身。
我尝试了无数种选择,其中一种是将 /portfolio/ 重写为 /portfolio,但这会造成无限循环。我也尝试了“DirectorySlash Off”,但它只在目录内删除了尾部斜杠,它没有恢复对原始 /portfolio 页面的访问。
最终,我想保持我的 /portfolio 页面保持原样,像 /portfolio/example 那样链接到目录内的页面,如果 /portfolio 或 /portfolio/ 被访问,它将导致显示相同的页面不在目录之外,Google 不会认为它是重复的内容。
这里有一个类似的问题: .htaccess rewriting url to page or directory 虽然由于某种原因这仍然导致我陷入无限循环,但我猜它与隐藏的扩展有关。
这是我的 htaccess-
重写引擎开启 # HTML 到 PHP 删除处理程序 .html .htm AddType application/x-httpd-php .htm .html # 隐藏扩展 RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}\.html -f 重写规则 ^(.*)$ $1.html # 强制万维网 RewriteCond %{HTTP_HOST} ^mydomain\.net 重写规则 ^(.*)$ http://www.mydomain.net/$1 [R=301,L] # 博客子域 RewriteCond %{HTTP_HOST} ^blog.mydomain.net$ 重写规则 ^(.*)$ http://www.mydomain.net/blog/$1 [R=301,L]我知道拥有一个与静态页面同名的目录不是一个好主意,但我真的不希望更改现有页面并丢失 Google 附加链接,因此处理此问题的干净且正确的方法是帮助。
【问题讨论】:
标签: .htaccess