htaccess mod_rewrite来转换url

时间:2018-05-27 18:21:05

标签: php .htaccess mod-rewrite

我有一个使用目录结构的php项目,我想创建漂亮的URL。 基本上我想删除每个文件的“.php”扩展名并删除localhost和文件名之间的路径。

示例:

transform this => localhost/myproject/views/pages/login/login.php

进入这个=> localhost/myproject/login

我知道我必须配置.htaccess mod_rewrite但我不知道究竟是多么诚实。

2 个答案:

答案 0 :(得分:0)

尝试将其添加到.htaccess文件中:

RewriteEngine On
RewriteBase /
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*?)/?$ $1.php [NC,L]

它基本上应该删除所有.php扩展名。

答案 1 :(得分:0)

哦,我已经解决了。我在根文件夹中有一个index.php文件,因此任何url都会重定向到.htaccess中使用带有我要显示的视图名称的查询字符串添加RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]的文件。然后我不得不重写所有链接,看起来像项目中的“/ myproject / name_of_the_view”