所以,我有当前的文件结构:
ROOT
-> /public
-> /user_views
user_handle.php
user_profile.php
user_feed.php
user_settings.php
.htaccess
如您所见,文件夹user_views
包含客户端可能想要查看的一些可能的视图。我想要的是,将插入网址http://example.com/user/
的客户端定向到页面user_handle.php
。此handle
将充当所有/user/
个网页的根文件,因此会通过众多$_GET
个请求拆分为这些网页。
到目前为止,我有以下.htaccess,但它不起作用......
RewriteRule ^user/ user_views/user_handle.php [L]
我该怎么做才能让它工作,以便网址http://example.com/user
重定向到user_handle
文件夹中的user_views
文件?
谢谢!
答案 0 :(得分:1)
我不确定我是否完全理解您的问题,但似乎您希望user_handle.php
位于public/user_views
下,作为其余PHP文件的“路由器”并拥有所有请求/ user /(例如/ user /?page = 1)由user_handle.php
处理。
如果是这样的话,你的规则似乎是合法的。我注意到的唯一一件事(我可能错了)是你的.htaccess
位于public
文件夹之外。在这种情况下,您需要将'public /'作为规则的一部分。
我重新创建了你描述的文件夹/文件结构,它使用以下内容为我工作.htaccess:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^user/ public/user_views/user_handle.php [L]
</IfModule>
这是问题的可能性很小,但您也可能需要仔细检查mod_rewrite
,这是您的服务器/本地环境中启用的基于规则的重写引擎。当您在任何PHP文件中调用phpinfo()
时,它应显示在“已加载的模块”下。
希望这有帮助。