2012-01-06 106 views
0

我是mod_rewrite的初学者。 我想为一个俱乐部建立一个网站,我认为使用mod_rewrite会让网站变得更漂亮一些。 无论如何,该页面目前正在开发中,所以我将它放在一个子目录中。 要访问我的页面,我会浏览到mydomain.com/minisite/club/alpha。mod-rewrite在子目录

在这个目录下,我的index.php页面要求输入一个页面的id。所以mydomain.com/minisite/club/alpha/index.php?id=1会返回第一页。

我希望页面显示为.mydomain.com/minisite/club/alpha/page/1 /。

请参考任何有用的文档,我可以读更好地了解mod_rewrite的, 马克

回答

0

此规则添加到您的.htaccess文件在你的文件夹的根目录下。如果您已经有规则,请在顶部添加此规则。

#if these 2 lines already exist skip them 
RewriteEngine on 
RewriteBase/

#this rule should before other RewriteCond/RewriteRules in your .htaccess 
RewriteRule ^minisite/club/alpha/page/([0-9]+) minisite/club/alpha/index.php?id=$1 [L,NC] 

这里有一些资源的.htaccess:Introduction to htaccess htaccess TricksApache Docs on Htaccess

+0

太好了,谢谢。 现在只需让烦人的样式表和图像工作。 :) – 2012-01-07 05:02:45

0

在阿尔法文件夹(其中的index.php所在),创建一个包含以下内容的.htaccess:

RewriteEngine On 
RewriteRule ^page/(.*?)/*$ index.php?id=$1 

这使您可以浏览到这两个.../page/1藏汉为.../page/1/

+0

这没有奏效。也许冲突.htaccess文件? 我在mydomain.com/上面有一个.htaccess文件: 'RewriteEngine on RewriteRule ^([^/\。] +).htm $ /index.php?id=$1 [L]' – 2012-01-06 21:30:42

+0

可能的,移动这个RewriteRule行到该文件,并修改它包括完整的路径,即:'RewriteRule ^/minisite/club/alpha/page /(.*?)/*$/minisite/club/alpha/index.php?id=$1 '和它一起玩,直到它与其他规则一起工作,有时候有一个以上的规则有点混乱,所以试着移动它并在顶层的.htaccess之间进行不同的分组。祝你好运! – 2012-01-06 23:55:31