截至目前我的网站有几个静态页面,其中之一是/投资组合。除此之外,我的htaccess隐藏了.html扩展名。我想添加一个投资组合目录,但我不想将现有投资组合页面作为默认索引文件移动到投资组合目录中。我的/投资组合页面是我的Google附加链接之一,我担心如果它被移动或者网址发生变化,Google会认为它是一个全新的页面。.htaccess,正确重写目录和文件同名
我的问题是,一旦我添加/ portfolio /目录,每当我尝试访问原始/投资组合页面时,会自动添加尾部斜杠并链接到目录本身。
我试过了无数的选择,其中一个是/ portfolio/to/portfolio的重写,但是这会创建一个无限循环。我也尝试过“DirectorySlash Off”,但是它只能在目录内删除尾部的斜杠,并没有恢复到原始/投资组合页面的访问。
最终,我想保留我的/投资组合页面,链接到目录内部的页面,如/ portfolio/example,如果/ portfolio或/ portfolio /被访问,它将导致显示相同的页面如果没有Google认为它是重复的内容,它就在目录之外。
类似的问题存在的位置: .htaccess rewriting url to page or directory虽然这仍然导致了我无限循环出于某种原因,我猜它是与隐藏的扩展。
这里是我的htaccess-
RewriteEngine On # HTML to PHP RemoveHandler .html .htm AddType application/x-httpd-php .htm .html # Hide extension RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}\.html -f RewriteRule ^(.*)$ $1.html # Force WWW RewriteCond %{HTTP_HOST} ^mydomain\.net RewriteRule ^(.*)$ http://www.mydomain.net/$1 [R=301,L] # Blog Subdomain RewriteCond %{HTTP_HOST} ^blog.mydomain.net$ RewriteRule ^(.*)$ http://www.mydomain.net/blog/$1 [R=301,L]
我知道这是不是具有相同名称的目录作为静态页面一个伟大的想法,但我真的宁愿不改变现有的页面,并失去了谷歌网站连结,所以一个干净和适当的方式来处理这将是一个帮助。
雅知道,我已经试过了。我尝试删除该行并删除!,结果没有任何变化。 我会注意到,我正在使用xampp进行测试。到目前为止,我只注意到我需要清除缓存并重新启动浏览器以使一些更改生效,但我不确定这是否会导致解决方案无法工作。 – PaulC 2010-01-07 02:21:32
嗯,我猜测我的情况没有任何真正的解决方案。我几乎无视这个问题,直到我去上传我的新网站时遇到了这个问题。希望那时我能弄清楚什么。尽管感谢您的帮助。 – PaulC 2010-01-08 15:01:28
在我自己的环境中进行了一些测试之后,我编辑了我的答案,以显示您拥有的选项。 – 2010-01-08 18:33:24