我正在用.htaccess度过难关.我想为我正在制作的网站创建友好的网址...
基本上我想转换这个:
http://website.com/index.php?ctrl=pelicula&id=0221889
http://website.com/index.php?ctrl=pelicula&id=0160399&tab=posters
Run Code Online (Sandbox Code Playgroud)
进入:
http://website.com/pelicula/0221889/
http://website.com/pelicula/0221889/posters/
Run Code Online (Sandbox Code Playgroud)
如果我以后需要它,我也想知道如何将文章标题添加到URL的末尾(我正在使用PHP):
http://website.com/pelicula/0221889/the-article-name/
http://website.com/pelicula/0221889/the-article-name/posters/
Run Code Online (Sandbox Code Playgroud)
注意:Stackoverflow方法对我也有好处,例如这个问题的网址是:
http://stackoverflow.com/questions/3033407/htacces-to-create-friendly-urls-help-needed
Run Code Online (Sandbox Code Playgroud)
但你可以把任何东西放在id之后,它也会起作用.像这样:
http://stackoverflow.com/questions/3033407/just-anything-i-want
Run Code Online (Sandbox Code Playgroud)
我使用了一些自动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>
Run Code Online (Sandbox Code Playgroud)
但我得到默认主机'找不到页'错误.
我也尝试过:
<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>
Run Code Online (Sandbox Code Playgroud)
这也行不通.它将我带到我的默认404.php页面.
mod_rewrite已启用并正常工作.
救命!
有些日子我现在一直在尝试制作一个简单的mod_rewrite规则来创建友好的URL,我的web主机已经启用了mod_rewrite,但我无法让它工作.
我发布的所有下一个问题:
没有一个答案有效,所以我现在考虑使用简单的PHP路由,我想知道两者之间是否有很大的性能或SEO差异.如果有,也许你知道如何修复我的问题中发布的mod_rewrite问题.
谢谢.