0
我有一个RewriteRule,可以将我重定向到相应的页面。问题是,当我将鼠标悬停在重定向的页面上的链接,我的这个页面上的任何链接的网址已被更改如下:mod_rewrite维护“更改的URI”
正确的链接:重写规则后http://www.mysitelcom/newClients.php
链接:http://www.mysite.com/samples/article-title-goes-here/23/newClients.php它“前缀'下一个文件请求与samples/article-title-goes-here/23 /这是我的RewriteRule的模式部分。
我的.htaccess文件是:
# Use PHP5 Single php.ini as default
AddHandler application/x-httpd-php5s .
RewriteEngine on
RewriteBase/
# Do not do anything for already existing files and folders
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^sample/([a-zA-Z0-9-]+)/([0-9]+)$ sample.php?id=$2 [L]
谁能帮助我理解我缺少的是什么?不知何故,我必须“重置”我的URI,以便它不会“改变”下一个请求的文件名。谢谢你的任何想法。
这不是mod_rewrite问题。 mod_rewrite唯一能做的就是改变Web服务器处理请求的方式。它无法即时编辑您的网页 - 要更改页面上的链接,您需要编辑网页本身。如果您有任何可在网页上生成网址的代码,那就是您需要发布的内容。 –
我想我需要澄清......没有我的RewriteRule,我的所有链接都按预期行事。我的网站是一个简单的PHP网站。如上所述,我修改了代码以显示友好的网址。我的RewriteRule正确重定向到适当的页面。我的rewriteRule似乎正在重写每个链接......当我将鼠标悬停在任何链接上时,它会在上面显示的根目录后插入友好的URL部分。难道是mod_rewrite已经改变/记住了URI路径。我觉得我需要以某种方式重置。正如我所提到的,如果我没有点击我的任何友好的URL,我很好。 – Leslie
同样,这不是mod_rewrite的工作原理。当您将鼠标悬停在页面上时,它不能也不会影响页面上显示的链接。您应该查看生成页面的PHP代码 - 是否在任何时候使用当前页面的URI来生成链接? –