Mod rewrite mod_重写和链接存在问题

Mod rewrite mod_重写和链接存在问题,mod-rewrite,Mod Rewrite,我正在开发一个基于MVC的应用程序,现在我已经设置了.htaccess重写规则。但是,我在使所有内容正确显示方面遇到了问题。 这是我的.htaccess: RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?a=$1 [L,NS] 我在链接方面遇到了问题,因为最初URL类似于“domain.com/folder/

我正在开发一个基于MVC的应用程序,现在我已经设置了.htaccess重写规则。但是,我在使所有内容正确显示方面遇到了问题。 这是我的.htaccess:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?a=$1 [L,NS]
我在链接方面遇到了问题,因为最初URL类似于“domain.com/folder/index.php?a=whatever/whatever2/asd”,但现在它们是“domain.com/folder/whatever/whatever2/asd”

我生成的链接就像“
”,但现在当我尝试生成链接时,我必须执行类似“
”的操作,你猜怎么着?例如,如果我在“domain.com/folder/new/lol”上,并且我点击了这种链接,我将被重定向到“domain.com/folder/new/new/qwerty”,它不应该这样工作

我不能使用绝对路径,因为该软件对于下载它的用户来说很容易安装,我不知道用户将在哪里安装该软件,也不希望用户必须修改任何代码

提前感谢

伊万

我终于解决了

我制作了自己的链接生成器函数,并将index.php部分从$\u服务器['SCRIPT\u NAME']中删除(这为我们提供了脚本的绝对路径)。 如果您有多个脚本,只需从该特殊变量中删除所有可能的脚本

function url($rel_path) {
  $start = str_replace("index.php", "", $_SERVER['SCRIPT_NAME']);
  return $start.$rel_path;
}