【发布时间】:2013-06-01 14:56:02
【问题描述】:
- 用户点击链接(来自他们的电子邮件):
http://www.site.com/edit/wih293f73y - 浏览器窗口打开并将它们带到正确的页面。
- 但是现在浏览器的地址栏显示:
http://www.site.com/editor.php?editCode=wih293f73y
额外信息:
- 我的重写规则是:
RewriteRule ^edit/([A-Za-z0-9-]+)/?$ editor.php?editCode=$1 [NC,L] - 仅当用户单击链接时才会出现此问题。只需在地址栏中输入漂亮的 url 即可完美运行。
- 此问题仅发生在包含
www.的链接上 - 链接http://site.com/edit/wih293f73y就像一个魅力。 - 我的 .htaccess 文件包含以下代码(来自 HTML5 样板,我以前不知道):
# Rewrite www.example.com → example.com <IfModule mod_rewrite.c> RewriteCond %{HTTPS} !=on RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] RewriteRule ^ http://%1%{REQUEST_URI} [R=301,L] </IfModule>
如果它很重要,这发生在我的其他重写规则之后。
【问题讨论】:
-
你确定那里没有
[R]标志来执行重定向? -
是的,这就是整行。我正在使用 HTML5 样板 .htaccess 文件,所以它会设置任何默认值吗?字符串“[R]”虽然没有出现在其中(这是一个很长的文件)。 [另外,我在问题中添加了一些额外信息]
-
问题在于 htaccess 代码检查引荐来源网址在 htaccess 代码中搜索
HTTP_REFERER -
我试着用谷歌搜索这个
HTTP_REFERER,但我仍然不确定你的意思?我在 .htaccess 文件中搜索了“HTTP_REFERER”,但它并没有出现在其中。 -
@MichaelBerkowski 我认为你在做某事!请看一下修改