2016-09-26 59 views
2

所以我有一个小问题。htaccess url变量问题

我有我的index.php页面作为存储在数据库中的所有页面数据的基础页面。我使用这个htaccess来重写我的所有页面,排除博客中的帖子。

RewriteEngine On 
RewriteCond %{SCRIPT_FILENAME} !-d 
RewriteCond %{SCRIPT_FILENAME} !-f 

#ALL STANDARD PAGES 
RewriteRule (.*) index.php [QSA,NC,L] 

#TRIED ALL THESE, NO LUCK 
#RewriteRule (.*) index.php?%{QUERY_STRING} [L] 
#RewriteRule ^.+$ /index.php [L] 
#RewriteRule ^((?!index\.php).+)$ /index.php [L] 

#ALL SPECIAL POSTING PAGES 
RewriteRule ^/posts/([0-9]+)/?$ view_post.php?id=$1 [NC,L] 

这对我在url上没有变量的任何页面都是完美的。

实施例:

www.mysite.com/home | | www.mysite.com/contact

所有这些加载完美。但是,如果我添加任何变量的页面崩溃了404

例子:

www.mysite.com/contact?email=sent

我真的不知道该怎么做,我试着在网上搜索指南,教给我正确的语法,如果其他人有相同的问题,使用谷歌搜索,迄今没有任何运气带来任何好运。

请帮忙。

+0

您是否使用过'QSA'标志? –

+0

@Abhishekgurjar我刚刚试过这个。但它仍然不起作用。 RewriteRule(。*)index.php [QSA,L] – logicK

+0

试试这个规则'^/posts /([0-9] +)/?$'不在'index.php' –

回答

0

试试这个,请注释掉以前的cond for checking我假设你正在将这些请求www.mysite.com/contact改写为index.php页面。

RewriteEngine on 
RewriteCond %{THE_REQUEST} ^(.*)$ 
RewriteRule^index.php [L] 
+0

可悲的是,没有奏效。打破网页:/ – logicK