2013-03-02 87 views
0

我试图在我的HTACCESS文件中设置mod_write来重写我的一个URL。我使用$ _GET将标记名称和可选页码(用于分页)传递给名为tags.php的文件。如何使用mod_rewrite忽略第二个变量如果为空

下面是与varialbles文件名:tags.php T = textname & S =#

(在上面的网址,#是页码。)

我试图使用? mod_rewrite将网址写为domain.com/tags/textname/#/,但我也想允许domain.com/tags/textname/如果用户登录第一页(无需分页变量需要通过)。

这里是我的mod_rewrite代码:

RewriteCond %{REQUEST_URI} !tags\.php [NC] 
RewriteRule ^tags/(.*)/$ /tags.php?t=$1 [NC,L] 
RewriteRule ^tags/(.*)/(.*)/$ /tags.php?t=$1&s=$2 [QSA,NC,L] 

的代码工作完全当我访问domain.com/tags/textname/。当我尝试访问domain.com/tags/textname/1/时,因为不是mod_rewrite,而是通过tags.php?t = textname & s = 1,它通过tags.php?t = textname/1 & s =

任何人看到我做错了我的第一个或第二个重写,以防止第二个规则工作?

谢谢!

回答

0

想通了。通过首先放置更具描述性的陈述来改写RewriteRules。更新任何有此问题的人。

RewriteCond %{REQUEST_URI} !tags\.php [NC] 
RewriteRule ^tags/(.*)/(.*)/$ /tags.php?t=$1&s=$2 [QSA,NC,L] 
RewriteRule ^tags/(.*)/$ /tags.php?t=$1 [NC,L]