0

我有一个 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,以便它不会“改变”下一个请求的文件名。谢谢你的任何想法。

4

1 回答 1

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>
于 2012-05-08T16:16:23.300 回答