使用.htaccess将index.php请求重定向到http:// localhost / website /

时间:2013-04-03 04:08:11

标签: .htaccess mod-rewrite

我对配置我的.htaccess并不熟悉,所以请帮帮我。

我有一个链接到index.php,但我不希望index.php出现在我的网址

eg. 
http://localhost/website/index.php

我希望将其重定向到

的根文件夹
http://localhost/website/ 

所以我试着寻找答案,这就是我到目前为止所得到的。

RewriteEngine on

Options +FollowSymLinks
RewriteCond %{THE_REQUEST} ^.*/index.php
RewriteRule ^(.*)index.php$ http://localhost/website/$1 [R=301,L]

现在,当我尝试在我的本地网站上单击“主页”时,而不是将我重定向到

http://localhost/website

它被重定向到这个 -

http://localhost/Applications/XAMPP/xamppfiles/htdocs/website/localhost/website/

有谁可以解释发生了什么?

2 个答案:

答案 0 :(得分:0)

你试过这个吗

RewriteRule ^(.*)$ /index.php/$1 [L] 

答案 1 :(得分:0)

我刷新页面后,我对.htaccess所做的更改不会生效。花了我一些时间来清除我的缓存以查看效果。我尝试了不同的方法来解决我的问题:

Options +FollowSymLinks
RewriteEngine on

#RewriteCond %{THE_REQUEST} ^.*/index.php
#RewriteRule ^(.*)index.php$ http://localhost/website/$1 [R=301,L]

#RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /?(.*)/index\.php
#RewriteRule ^ /%1 [L,R=301]

#RewriteRule ^(.*)$ /index.php/$1 [L] 

带#的行没有解决我的问题,可能是因为缓存未被清除,但无论如何 下面的这一行解决了我的问题,但在我实际看到结果之前,我花了5次清除缓存。

RewriteRule ^index.php(.*)$ http://localhost/website/$1 [R=301,NC]

我是从htaccess generator

得到的