本文介绍了的.htaccess:重写GET语义网址,模仿文件夹的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想重写这一点:
- mysite/ 专辑> mysite/albums.php
- mysite/ 专辑/ > mysite/albums.php
- mysite/ 专辑/富或 /专辑/富/ > mysite/ 专辑/ foo.html (检查下一行)的
- mysite/ 专辑/ foo.html > mysite/albums.php?album=foo
- mysite/ 专辑/富/条或 /专辑/富/酒吧/ > mysite/ 专辑/富/一个bar.html (检查下一行)的
- mysite/ 专辑/富/一个bar.html > mysite/albums.php?album=foo&photo=bar
- mysite/albums > mysite/albums.php
- mysite/albums/ > mysite/albums.php
- mysite/albums/foo or /albums/foo/ > mysite/albums/foo.html (check next line)
- mysite/albums/foo.html > mysite/albums.php?album=foo
- mysite/albums/foo/bar or /albums/foo/bar/ > mysite/albums/foo/bar.html (check next line)
- mysite/albums/foo/bar.html > mysite/albums.php?album=foo&photo=bar
目前的.htaccess 至今:
RewriteEngine on RewriteRule /albums/(.*)/(.*)/ albums.php?album=$1&photo=$2 RewriteRule albums/(.*)/(.*) albums.php?album=$1&photo=$2 RewriteRule /albums/(.*)/ albums.php?album=$1 RewriteRule albums/(.*) albums.php?album=$1 RewriteRule /albums/ albums.php
不过是有错误的一塌糊涂,怎么可以这样工作呢?
But is a mess with errors, how can this work well?
注意:这必须工作只是与 /albums.php ,不能与其他的.php 如的index.php , /contact.php 等
NOTE: This must work just with /albums.php, not with other .php files like /index.php, /contact.php, etc.
推荐答案您可以在您的根目录的.htaccess尝试这些规则:
You can try these rules in your root .htaccess:
Options -MultiViews RewriteEngine on RewriteRule ^albums/([\w-]+)/([\w-]+)(?:\.html|/)?$ albums.php?album=$1&photo=$2 [L,QSA,NC] RewriteRule ^albums/([\w-]+)(?:\.html|/)?$ albums.php?album=$1 [L,QSA,NC] RewriteRule ^albums(?:\.html|/)?$ albums.php [L,NC]更多推荐
的.htaccess:重写GET语义网址,模仿文件夹
发布评论