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]; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |