Apache Localhost上的htaccess指的是根,而不是文件夹

Apache Localhost上的htaccess指的是根,而不是文件夹,apache,.htaccess,mod-rewrite,Apache,.htaccess,Mod Rewrite,我正在一个网站上工作,以使URL的搜索引擎优化更友好的htaccess,然而,我遇到了一个问题,当我设置htaccess文件。如果我使用我喜欢设置的URL,我会被引用回本地主机,而不是我正在使用的开发图,因此在这种情况下,我会被引用回localhost/blog,而不是localhost/jellyish\u rework/blog,因此,我最终从我的localhost获得了一个视图,或者只是页面中出现了一个错误 原来的链接是http://localhost/jellyfish_rework/i

我正在一个网站上工作,以使URL的搜索引擎优化更友好的
htaccess
,然而,我遇到了一个问题,当我设置htaccess文件。如果我使用我喜欢设置的URL,我会被引用回本地主机,而不是我正在使用的开发图,因此在这种情况下,我会被引用回
localhost/blog
,而不是
localhost/jellyish\u rework/blog
,因此,我最终从我的
localhost
获得了一个视图,或者只是页面中出现了一个错误

原来的链接是
http://localhost/jellyfish_rework/index.php?p=blog

Options +FollowSymLinks
RewriteEngine On
RewriteBase /jellyfish_rework/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)$ /?p=$1 [L]]
这是否与我的
锚定
引用
有关?因为在我仍然以旧方式引用的另一个
anchor
标记中,我没有得到我想要的响应(因此链接保持
http://localhost/jellyfish_rework/index.php?p=blog

编辑

htaccess
文件位于localhost/jellyphish\u rework/as中,这就是索引文件所在的位置。

您的最后一行(
RewriteRule
)应该如下所示

RewriteRule ^([^/]*)$ index.php?p=$1 [L]
不要在前面添加前导斜杠。
否则它将像一个绝对路径(
/index.php
来自根目录)

使用上述规则和您的
重写库
,此规则将按以下方式执行:
如果不存在文件/文件夹,则将其重写为/jellyphish\u rework/index.php?p=URI

您的旧规则(带前导斜杠)是关于:
如果不存在文件/文件夹,则将其重写为/index.php?p=URI

注意:由于您使用的是相对路径,因此还必须使用前导的
/jellyish\u rework/
更改所有html链接(css、javascript、图像、链接),或者使用
基标记

<base href="/jellyfish_rework/">


[Tue Sep 30 14:35:34.010351 2014][core:alert][pid 5556:tid 936][client::1:50767]E:/Documenten/Websites/wamp/www/jellyphish_Rework/.htaccess:RewriteRule:bad flag delimiters
hmmm iget现在是一个坏的flag delimiter。是的,我修复了它,在接管RewriteRule以理解它时输入了一个拼写错误,当我按下控制按钮s来保存它时,我点击了,而不是按下控制按钮,所以在我再次保存它之前,它在它后面插了一个s;)现在它就像一个符咒;)非常感谢。