我刚刚花了最近2个小时通过Google和Stackoverflow存档进行拖网,以查看我是否可以找到我的问题的答案,而不是找不到任何东西,我找到了太多!所以很不幸,我不得不加入301重定向问题的山峰。抱歉。并感谢您看看这个;)重写URL并永久重定向到新URL
基本上,我有一个博客,我正在寻求简化URL。目前的URL看起来像这样:
http://tempertemper.net/post.php?s=2012-05-30-freeagent
我想他们是这样的:
http://tempertemper.net/2012-05-30-freeagent
我试着将重写规则/(.*)$ /后。 php?s = $ 1到我的.htaccess文件,但它没有它。
完整文件目前看起来是这样的:
<ifModule mod_rewrite.c>
DirectoryIndex index.php index.html
ErrorDocument 404 http://tempertemper.net/error.php
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.tempertemper\.net$
RewriteCond %{REQUEST_URI} !cron.php
RewriteRule ^(.*)$ http://tempertemper.net/$1 [R=301,L]
</ifModule>
我已经试过了重定向WWW的canonicalisation位之后添加此。非WWW:
重写规则^([A-ZA-Z0-9 _-] +)$ post.php中?S = $ 1
它排序的工作原理。然后我可以链接到http://tempertemper.net/2012-05-30-freeagent但问题是,http://tempertemper.net/post.php?s=2012-05-30-freeagent仍然存在。这对于seo来说可能不是很好,因为我猜想我会在搜索引擎的眼中拥有重复的内容。我试过在新行的末尾放置[R = 301],但它会停止新链接的工作。还尝试将L放在方括号中,并将其从规范化命令中移除,但没有快乐(L代表最后一个命令,是不是......)。
基本上,我是所有生成或使用post.php?s =生成的URL以永久重定向到没有post.php?s =的URL,以便任何链接进入这些页面被重定向,未来的任何链接都将直接指向新外观的网址。
希望是有道理的......
感谢,
马丁:)
嗨Sylwester,我已经试过补充说,但它带我到这个页面,当我加载网站:http://tempertemper.net/ post.php?s = post.php并给我错误信息“页面没有正确重定向,Firefox检测到服务器正在重定向这个地址的请求,永远不会完成。由于禁用或拒绝接受cookies而造成的。“ – Martin 2012-08-08 11:55:48
这是因为post.php macthes重写规则并做了一个无限循环。我重写了我的答案,并认为提供的代码将替代您的.htaccess文件。 – Sylwester 2012-08-08 13:07:03
嗯...当我在http://tempertemper.net输入任何网址时,它会把我带到http://tempertemper.net/post.php,包括根目录。奇怪的是,它只剥去了CSS。它还显示在一个页面上的所有帖子,我认为这是有道理的。也许这是我如何将它与规范化重定向一起写入的?我试图删除,但发生了同样的事情... – Martin 2012-08-08 13:15:15