【发布时间】:2018-01-29 11:57:33
【问题描述】:
我需要一些有关我的 Htaccess 代码的帮助。
RewriteEngine On
RewriteBase /
RewriteCond %{THE_REQUEST} /([^.]+)\.php [NC]
RewriteRule (.*)\.php$ $1 [R=301]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} /$
RewriteRule (.*)/ $1 [R=301]
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteCond %{REQUEST_URI} !/$
RewriteRule (.*) $1\.php [L,QSA]
我的目录结构是:
Public_Html
css/style.css
img/icon.png
/2/user.php
index.php
create.php
现在上面的 htaccess 代码正在从 URL 中删除 .php 扩展名。
示例
-> example.com/index.php -> example.com/index
-> example.com/2/user.php -> example.com/2/user
此 Htaccess 文件存在问题
我也想隐藏索引 示例:example.com/index -> example.com
如果用户键入 example.com/index.php,那么他应该被重定向到 example.com
-
如果用户输入不存在的东西,那么它应该指向 example.com
示例:
example.com///*/// -> example.com 当它删除 .php 扩展名时,应在末尾添加一个斜杠。
示例: example.com/create.php -> example.com/create/
-
如果用户想访问create.php并在最后输入
/create without /,那么它应该会自动添加。示例:
example.com/create -> example.com/create/
换句话说,如果在删除 .php 之后,它们的工作方式相同
**Example:** example.com/create = example.com/create/
-
但用户应该仍然可以访问该目录
示例:
example.com/2 -> example.com/2/这里的 2 是一个文件夹。
我对这个 htaccess 脚本有一些问题。我在 Google 和 Stack Overflow 上搜索了很多,但仍然找不到任何解决方案。
*这不是一个重复的问题。在将其标记为重复之前,请仔细检查。如果你能帮助我,我会很高兴。
【问题讨论】:
标签: php .htaccess mod-rewrite