我是编码新手,因此将不胜感激额外的解释。到目前为止,我能够使用我的 htaccess 文件删除文件扩展名。
Options -MultiViews
RewriteEngine on
# Does not apply to existing directories, if directory exist then don't run the rule
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php [NC,L]
在“仪表板”目录中,我有另一个 index.php(仅对登录的用户显示)。在索引中,我有一个 $_GET 方法来检索用户的状态。因此,当我访问 localhost/project/dashboard/ 时,我可以查看 index.php。
当我想使用 GET 方法时,我的 url 将类似于 localhost/project/dashboard/?status=active,我试图将其更改为 localhost/project/dashboard/active 或 localhost/project/dashboard/status/active。
我在本地主机环境中工作,我的目录是这样分解的。
MAIN
- includes
- dashboard
|
-- subfolder
|-- somefile.php
|
-- index.php
- css
index.php
login.php
logout.php
.htaccess ** (this is the file im working with)
我正在使用 URL:http://localhost/project/dashboard/active
我尝试将以下几行添加到我的 .htaccess
1.
RewriteRule ^([a-zA-Z]+)/?$ /?status=$1 [NC,L,QSA] - doesn't work
未找到对象!错误 404
2.
RewriteRule ^dashboard/([a-zA-Z]+)/?$ /?status=$1 [NC,L,QSA] - doesn't work
重定向到本地主机/仪表板
3.
如果我在“仪表板”目录中创建另一个 .htaccess 并使用 write 1 line
RewriteRule ^([a-zA-Z]+)/?$ index.php?status=$1 [NC,L,QSA] - WORKS
但是,当使用第三种方法时,我无法访问仪表板中的子文件夹或其文件。因此,如果我尝试访问 localhost/project/dashboard/subfolder/somefile,它会返回“找不到对象!” 错误 404
如果我尝试访问 localhost/project/dashboard/subfolder/somefile.php 它会重定向到 localhost/project/dashboard/
以后会有更多的文件夹和子文件夹。
哈士奇WWW
SMILET