我很难与.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>
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];