我有一个网站,说http://mysite.com。我想把index.php放在一个子目录中,public_html/mysubdir/index.php
。当用户转到http://mysite.com时,我想要执行public_html/mysubdir/index.php
。我希望该网址继续阅读http://mysite.com
。这可能吗?我可以把index.php放在一个子目录下,但不能在url中显示子目录?
回答
重写规则可以是矫枉过正这取决于你想。对于你的主要索引页,这将工作...
简单地增加这一行到您的.htaccess
文件:
DirectoryIndex mysubdir/index.php
它会显示位于mysubdir/index.php
而只是显示在URL http://mysite.com
的页面。
我自己使用这种方法。虽然所有我的网页位于相同的子目录中,主页显示与我的域名本身(http://www.mysite.com
)。所有其他页面显示完整的URL。
如果你也有更深的子目录中index
网页,并希望那些被子目录中默认的就上来了。
例子:
如果你想这个网页:http://mysite.com/mysubdir/anothersub/index.php
拿出这个网址:http://mysite.com/mysubdir/anothersub/
然后修改与另一个index.php
类似的行...
DirectoryIndex mysubdir/index.php index.php
这样做会告诉服务器以相同的顺序查找具有这些名称的文件。如果找不到第一个,则会尝试第二个,依此类推。
当您位于根位于/
处时,它会查找并显示mysubdir/index.php
。
当你像/mysubdir/anothersub/
另一个子目录中,也找不到任何名为mysubdir/index.php
如此这般的下一个项目,并显示index.php
这工作,谢谢。但是,现在我有另一个问题。 index.php链接到各种CSS和JS文件,使用相对链接。例如:
如果您的网络服务器是Apache,您可以使用URL rewriting with mod_rewrite。
另一种选择是在根目录下创建一个index.php,并在子目录中包含index.php。
您可以使用.htaccess文件并定义Rewrite
规则。
http://httpd.apache.org/docs/current/mod/mod_rewrite.html
请确保mod_rewrite
启用,然后将.htaccess文件在你的根目录下有这样的事情:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ your_subdir/index.php/$1 [L]
</IfModule>
非常有帮助。谢谢。 – moondog 2012-02-13 20:55:04
太棒了!我很高兴它有用。 – 2012-02-13 20:56:07
- 1. 我可以把我的web服务在子目录中吗?
- 2. 重写子目录以显示为另一个目录
- 3. 删除index.php从子目录网站URL
- 4. 的.htaccess从URL删除子目录,但包括子子目录
- 5. Url重定向子目录子目录
- 6. WGet镜像没有把它放在一个子目录(即domain.com)
- 7. 笨删除的index.php在子目录
- 8. 在cmd中,我可以指向/ s但只能指向n个子目录吗?
- 9. 在一个子目录
- 10. 在子目录中查找index.php的URL 404s(.htaccess)
- 11. rsync排除一个目录,但包括一个子目录
- 12. 我可以把npm node_modules目录放在我的'webroot'之外
- 13. mod_rewrite不能在顶层目录中工作,但在子目录中可以使用
- 14. 我如何在一个子目录中放置Bookdown章节?
- 15. 应该将多少个子目录放入一个目录
- 16. 在子目录
- 17. .htaccess子目录子目录
- 18. move_uploaded_file只能在子目录
- 19. mod_rewrite的,但不是在子目录
- 20. 代码在根目录运行,但不是子目录
- 21. 拒绝目录,但没有子目录
- 22. Nginx与PHP在一个子目录中
- 23. 从目录重写规则在同一个域中子目录
- 24. Bundler把我的宝石放在我的项目目录中
- 25. 忽略目录...但不是子目录或两个
- 26. htaccess将根目录更改为子目录,但只允许根目录url
- 27. Laravel 4.2安装在一个子目录中,但未包含在URL中
- 28. bash检查目录下的子目录
- 29. 子域作为URL中的子目录
- 30. 我想在每个子目录中放一个index.php文件。这是一个好的/坏的编程习惯?
是,搜索结果的URL重写。 – Brad 2012-02-13 20:02:13
你使用的是什么http服务器? – Ivan 2012-02-13 20:03:19
@Ivan:我使用Apache 2.2.22。这是你的意思吗? – moondog 2012-02-13 20:07:19