2012-05-14 146 views
1

我正在失去理智。我已经从字面上尝试了我可以找到的这些电路板上的所有建议。Centos 6 MOD_REWRITE不工作

我有一个简单的网址:

www.somedomain.com/!/profile.php?id=1234567 

我有这样的.htaccess文件:

<IfModule mod_rewrite.c> 
    Options +FollowSymlinks 
    RewriteEngine On 
    RewriteRule ^([a-zA-Z0-9]+)(/?)$ profile.php?id=$1 [QSA,L] 
</IfModule> 

我不明白为什么它不重写somedomain.com/!/1234567

+0

...它是在'/'目录!? –

+0

yes profile.php is in!/ – Wes

回答

0

做的正是你在你在一个.htacess文件的问题,即要什么/!/目录需要下列

RewriteCond %{QUERY_STRING} ^id=([0-9]+)$ 
RewriteRule ^[a-zA-Z0-9]+[.]php$ %1 [L] 

如果可以的话,它最好不要使用.htaccess文件,因为它影响性能。可以按如下方式放置在虚拟主机的东西:

RewriteCond %{QUERY_STRING} ^id=([0-9]+)$ 
RewriteRule ^/!/[a-zA-Z0-9]+[.]php$ %1 [L] 

,或者如果你想要做的事与文件名和路径:

RewriteCond %{QUERY_STRING} ^id=([0-9]+)$ 
RewriteRule ^(/!/[a-zA-Z0-9]+)[.]php$ $0/%1 [L] 
+0

现在如果我转到那个链接,我会得到一个404错误? – Wes