Htaccess 重写链接在 .htaccess 文件中不起作用
Posted
技术标签:
【中文标题】Htaccess 重写链接在 .htaccess 文件中不起作用【英文标题】:Htaccess rewrite links doesn't work in .htaccess file 【发布时间】:2017-08-10 23:48:56 【问题描述】:我有一个网站,我尝试使用 htaccess 文件重写链接,但重写的链接不起作用。原来的链接是这样的:
http://my-website.com/open?cours=3em-tricks
我想改写成这样的形式:
http://my-website.com/tuto/cours/3em-tricks/
在.htaccess
文件中我写了这段代码:
RewriteEngine On
RewriteBase /
RewriteRule ^tuto/cours/(.*)$ open?cours=$1 [N]
但我总是在重写链接中得到 404 页面。注意 htaccess 模块是在服务器上激活的。
【问题讨论】:
这里的“不起作用”是什么意思?您是否尝试过打开 mod_rewrite 日志记录以查看发生了什么? 我的意思是新链接只适用于原来有效的链接 【参考方案1】:也许是斜杠和N
。
RewriteEngine On
RewriteBase /
RewriteRule ^tuto/cours/(.*)/?$ open?cours=$1 [L]
【讨论】:
如果您将 te[L]
替换为 [R,L]
,您看到新 URL 了吗?
同样的问题 404 未找到
是的,但是您看到新网址了吗?
我不明白你的问题,你能解释一下吗
当您使用浏览器访问http://my-website.com/tuto/cours/3em-tricks/
(以及.htaccess
中的标志[R,L]
)时,您是否看到了新的URL (http://my-website.com/open?cours=3em-tricks
)?以上是关于Htaccess 重写链接在 .htaccess 文件中不起作用的主要内容,如果未能解决你的问题,请参考以下文章
使用 php 和 .htaccess 进行友好的 url 重写。与 css 图像和 js 的相对链接的困难