[英]How Do I Make A Common PHP File To A Directory With .htaccess?
我正在使用通用的PHP文件处理URL的主页以外的内容。 就像PHP $ _GET请求一样,区别在于没有参数。 就像文件一样。
Ex- http://localhost/
-通常应由index.php文件管理。 http://localhost/ANYTHINGHERE
应该将其扔到一个自定义PHP文件中,然后再决定该怎么做。
实际上,我正在一个项目中,我需要向用户隐藏URL信息。 因此,用于管理ANYTHINGHERE URL的文件实际上将访问目录localhost / i /。
谢谢,等待最好的答复!
为此,您需要两个部分:
首先:.htaccess,它将所有访问重定向到传递到php脚本的域名(此处为index.php):
RewriteEngine On
RewriteRule (.*) index.php/$1
其次:在index.php中,您将获得用户输入的URI为$_SERVER['PATH_INFO']
(以/
开头)
但是,这会使所有请求都通过index.php脚本(取决于index.php的位置,您还可以得到无穷的递归,因此请继续阅读;))。 通常,人们不希望这样做(例如,图像应由Web服务器直接提供)。 因此,通常使用一种方式(即,现有目录,文件和链接由Web服务器直接提供服务):
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -l
RewriteRule ^(.*)$ - [NC,L]
RewriteRule (.*) index.php/$1
如果这应该在子目录中进行,则需要在RewriteEngine On
之后直接添加RewriteBase /subdirectory
。
如果您不想使用$_SERVER['PATH_INFO']
,也可以使用RewriteRule (.*) index.php?url=$1 [QSA]
,那么您将获得用户输入的URI为$_GET['url']
。
这要求将mod_rewrite
加载到服务器上。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.