加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 如何使用.htaccess创建友好的URL?

发布时间:2020-12-13 16:35:23 所属栏目:PHP教程 来源:网络整理
导读:我很难与.htaccess.我想为我正在工作的网站创建友好的URL 基本上我想转换这个: http://website.com/index.php?ctrl=peliculaid=0221889http://website.com/index.php?ctrl=peliculaid=0160399tab=posters 进入: http://website.com/pelicula/0221889/http:
我很难与.htaccess.我想为我正在工作的网站创建友好的URL

基本上我想转换这个:

http://website.com/index.php?ctrl=pelicula&id=0221889
http://website.com/index.php?ctrl=pelicula&id=0160399&tab=posters

进入:

http://website.com/pelicula/0221889/
http://website.com/pelicula/0221889/posters/

如果我以后需要它,我也想知道如何添加文章标题到URL的结尾像这样(我使用PHP):

http://website.com/pelicula/0221889/the-article-name/
http://website.com/pelicula/0221889/the-article-name/posters/

注意:Stackoverflow方法对我来说也很好,例如这个问题的url是:

https://stackoverflow.com/questions/3033407/htacces-to-create-friendly-urls-help-needed

但是你可以把任何东西放在id之后,它也可以工作.喜欢这个:

https://stackoverflow.com/questions/3033407/just-anything-i-want

我已经使用一些自动的Web工具来创建.htacces文件,但是它不能正常工作.所以我要求你的帮助.

我也会很高兴,如果你可以推荐.htacces最佳做法和建议..

编辑:根据一些答案我到这里我把这个:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^/([^/]+)/([^/]+)/?([^/]*)/?$index.php?ctrl=$1&id=$2&tab=$3 [QSA,L]
</IfModule>

但是我得到默认的主机“页面未找到”错误.

我也试过:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^([^/]+)/(d+)/([^/]+)/?$index.php?ctrl=$1&id=$2&tab=$3 [QSA,L]
    RewriteRule ^([^/]+)/(d+)/?$        index.php?ctrl=$1&id=$2 [QSA,L]
    RewriteRule ^([^/]+)/?$              index.php?ctrl=$1 [QSA,L]
</IfModule>

这也不行.它需要我到我的默认的404.php页面.

mod_rewrite已启用并正常工作.

帮帮我!

在http://website.com/的文档根目录中,我将放置一个如下的htaccess文件:
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$index.php?url=$1 [QSA,L]
</IfModule>

然后在您的PHP脚本中,您可以随意操作$_GET [‘url’]变量:

$path_components = explode('/',$_GET['url']);
$ctrl=$path_components[0];
$id=$path_components[1];
$tab=$path_components[2];

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读