【发布时间】:2017-11-01 02:50:53
【问题描述】:
首先,我想告知这是我关于堆栈溢出的第一篇文章,所以如果我做错了什么,我也想告诉我。
我正在尝试构建一个 PHP 脚本,其中包含控制器和模板等文件夹。两者都在其中的一个或另一个上重定向和包含需要 php 文件。一切都可以通过根域目录上的索引访问。所以我的问题是如何隐藏网址,即domain.com/"controller"/activate.php 或domain.com/"templates"/login.php。
我让你知道我通过包含在索引中的一些参数 (if) 中调用了“模板”文件夹中的 login.php。
我现在将发布我的.htaccess,以便您可以查看那里的过程,而我过去已经尝试隐藏“模板”文件夹。但是随后无法通过在 .htaccess 上进行编码来访问子目录。这就是为什么我必须删除此处发布的代码,因为这些代码不能解决我的情况。
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
ErrorDocument 404 /templates/404
# To externally redirect /dir/abc.php to /dir/abc
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+(.+?)\.php[\s?] [NC]
RewriteRule ^ /%1 [R=301,L,NE]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.+?)/?$ $1.php [QSA,NC,L]
</IfModule>
AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript
到目前为止,我的 .htaccess 具有隐藏 url 上的 .php 扩展名和缓存 Gzip 压缩方法的参数。所有帮助将不胜感激,错误和正确!
【问题讨论】:
标签: php apache .htaccess url directory