我该怎么做?关于这个问题有很多话题,但我尝试了所有这些话题,但都没有成功。有人可以给我一个详尽而广泛的答案,因为我几乎没有使用.htaccess的经验。如何将site.com/index.php?p=xxx转换为site.com/xxx/
谢谢!
我该怎么做?关于这个问题有很多话题,但我尝试了所有这些话题,但都没有成功。有人可以给我一个详尽而广泛的答案,因为我几乎没有使用.htaccess的经验。如何将site.com/index.php?p=xxx转换为site.com/xxx/
谢谢!
从头脑,所以可能需要一些调整
RewriteEngine on
RewriteRule ^([^.]*)/?$ index.php?p=$1 [L]
这将(内部!)发送到site.com/xxx /site.com/index.php?p=xxx
所以你可以做的index.php任何你想要用$ _GET [“p”],你通常会做,但用户将看到该网站为index.site.com/xxx
谢谢。这工作,但有没有办法让它的工作有或没有尾随斜线? 另外,相反的规则是什么?如果人们填写index.php?p = xx,他们会自动发送到/ xx /? – user1306458 2012-04-27 10:55:27
以及,我将如何更改page.php?cat = x&page = 3&sortby = bla到/ page/x/3/bla /? – user1306458 2012-04-27 10:57:01
与上面的解决方案,site.com/page/x3/bla将被内部重写为site.com/index.php?p=page/x3/bla所以通过爆炸('/',$ _GET ['p '])你得到所有的参数。只要确保你的url结构是一致的。你可以写一个类似的RewriteRule来处理URL的url = ...但是没有真正的理由。 – Johan 2012-04-27 12:06:07
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*)/ index.php?p=$1
使用Apache重写规则 – vvr 2012-04-27 10:42:27
htaccess mod重写 – 2012-04-27 10:43:23
有很多很多的教程 - 关于Google的关键词是[“search engine friendly urls”](http://www.google.com/search?q=search+engine+friendly+urls) – DaveRandom 2012-04-27 10:43:39