为什么不在php中正确使用.htaccess来处理/呢?

为什么不在php中正确使用.htaccess来处理/呢?,php,apache,.htaccess,Php,Apache,.htaccess,我写了这个htaccess文件: RewriteEngine On RewriteBase /project/ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.+)$ index.php?uri=$1 [QSA,L] 我使用xampp和我的菜单结构,例如:Home(/)和Contact(/Contact),localhost/project/正在工作,我得到了主页,但是

我写了这个htaccess文件:

RewriteEngine On
RewriteBase /project/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?uri=$1 [QSA,L]
我使用xampp和我的菜单结构,例如:Home(/)和Contact(/Contact),localhost/project/正在工作,我得到了主页,但是当我转到localhost/project/Contact时,联系人页面是ok的,但是主页菜单点url将是localhost而不是localhost/project/。我想是因为xampp域,或者因为我的项目在xampp/htdocs/project下,或者类似的东西……有人能帮我解决这个问题吗?非常感谢

html:


这是因为HTML中的链接设置,如果您有
,则它将转到localhost/因为它不会从htaccess读取。您需要将href更新为
/project/home
,或者需要将重定向规则添加到htaccess并将根目录重定向到/project/,这将解决您的问题


编辑:您的联系人正在工作,因为您在开始时没有正斜杠,这使它成为一个相对链接。如果在contact之前放置一个正斜杠,那么它将转到
localhost/contact
,建议使用一个绝对路径(正斜杠在开头)并链接到它,就像

需要显示一些代码一样。问题“为什么这个代码不起作用?”必须包含在问题本身中复制它所需的最短代码。可能重复感谢您的帮助,我知道类似的事情。现在我在xampp/htdocs中创建了一个规则,将所有内容重定向到project/:)
<a href="/">HOME</a>
<a href="contact">Contact</a>