我一直在关注一些YouTube视频,试图让它工作,但它似乎并不想。这就是我的.htaccess文件的样子:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule RewriteRule ^(.*)$ index.php/$l
我对.htaccess 完全不熟悉,我不完全确定它是如何工作的但我的常识告诉我只需创建一个文件,将其命名为.htaccess并将其放在同一个文件夹中作为我的index.php,对吧?
所以当我去的时候,比如index.php / foo / bar甚至只是/ foo / bar /我得到404错误。
可能出现的问题是什么?它是安装了PHP 5.3.10的Windows 2008 Server。
答案 0 :(得分:1)
开始时你的最后一行应该是
RewriteRule ^(.*)$ index.php/$l
它应该按预期工作...将现有文件/文件夹的所有请求传递到index.php
.htaccess
可以位于请求URL
命中的任何文件夹中...唯一的区别是URL
的基础,它相对于文件夹所在的文件夹.htaccess
找到了
示例:
/folder1
.htaccess
index.php
/folder2
.htaccess
index.php
如果您的/test.php
文件将被处理(如果与请求.htaccess
无关),则访问URI
无。
如果您访问/folder1/test.php
,则会使用.htaccess
中的相应folder1
,并且$1
中的RewriteRule
会显示test.php
, /folder1/
将被URI
删除。
如果你访问/folder1/folder2/test.php
它是类似的... apache将使用.htaccess
中的folder2
...来自folder1
的那个将被忽略(有点反直觉)< / p>