为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
米琪卡哇伊 2019-07-04 17:44:48
如何使用.htaccess创建友好的URL?我很难用.htaccess。我想为我正在做的网站创建友好的网址.基本上我想转换一下:http://website.com/index.php?ctrl=pelicula&id=0221889http://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方法对我也有好处,例如,这个问题的网址是:http://stackoverflow.com/questions/3033407/htacces-to-create-friendly-urls-help-needed但是你可以在id之后放任何东西,它也会起作用的。就像这样:http://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_REWARD已启用并工作。帮助!
查看完整描述

3 回答

?
忽然笑

TA贡献1806条经验 获得超5个赞

第一个假设.htaccess文件位于根目录中:

RewriteRule ^([a-zA-Z]+)/([0-9]+)(/)?$ index.php?ctrl=$1&id=$2

第二部分:

RewriteRule ^([a-zA-Z]+)/([0-9]+)/([a-zA-Z]+)(/)?$ index.php?ctrl=$1&id=$2&tab=$3

或者如果它总是posters而不是不同的标签:

RewriteRule ^([a-zA-Z]+)/([0-9]+)/posters(/)?$ index.php?ctrl=$1&id=$2&tab=posters

我添加了(/)?这意味着URI将使用或不使用尾斜杠。

至于另一篇,我可能总是把文章放在结尾,所以重写或添加另一篇/value因此,重写知道制表符和项目之间的区别,或者从regex中排除破折号。


查看完整回答
反对 回复 2019-07-04
  • 3 回答
  • 0 关注
  • 278 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信