gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-10-31 22:12:13 25 4
gpt4 key购买 nike

我在使用 .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是:

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

但是你可以在 id 后面放任何东西,它也可以。像这样:

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

我使用了一些自动网络工具来创建 .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];

关于php - 如何使用 .htaccess 创建友好的 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3033407/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com