我有一个RewriteRule成功地将我重定向到适当的页面。问题是,当我将鼠标悬停在重定向页面上的链接上时,此页面上任何链接的URL都已更改如下:
更正链接:http://www.mysitelcom/newClients.php
RewriteRule之后的链接: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,以便它不会“改变”下一个请求的文件名。谢谢你的任何想法。
答案 0 :(得分:0)
至于我,我发现,它是我的引擎中的链接和路径的良好解决方案始终正常使用这样:
我的settings.php中定义的全局变量
<?php
$path_server = 'htdocs/mysite'; # server path for including files
$path_www = 'http://mysite.com'; # path to use in links
?>
所以在我的模板中(它们与settings.php的范围相同)我写了
<?php include "{$path_server}/menu.php"; ?>
<a href='<?php echo $path_www; ?>/link1.html'>link1</a>