2014-02-07 62 views
0

我开始在我的项目中使用htaccess,并学习了诸如删除扩展等基础知识。我想在PHP中删除一个文件名和一个值网址传递了如删除PHP文件名的扩展名,并用值替换

example.com/eg/check_folder.php?folder=folder-ck 

example.com/eg/folder=folder-ck 

取代它,但我不能够做到这一点,我做了如下的代码。请指导我错在哪里。

RewriteEngine On 


RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^/http://example.com/eg/(\d+)/?$ /http://example.com/eg/check_folder.php?folder=$1 [NC,L,QSA] 

回答

0

首先确认您的.htaccess是否启用与否,通过把相同的垃圾文字对你.htaccess的顶部,看看它是否产生500(内部服务器)错误与否。

一旦确定它已启用,请确保mod_rewrite也已启用。

/eg/.htaccess最后使用此代码:

RewriteEngine on 
RewriteBase /eg/ 

RewriteRule ^(folder=.+)$ check_folder.php?$1 [L,QSA,NC] 
+0

重写模块是活动的肯定里面下面的代码得到了这个工作。我也试过你的代码,但没有运气 – user1001176

+0

你是否在我的答案中写过500错误检查。 – anubhava

+0

内部服务器错误 – user1001176

0

我用我的文件夹,例如

RewriteEngine On 

RewriteRule ^([a-zA-Z0-9_-]+)$ check_folder.php?folder=$1 

RewriteRule ^([a-zA-Z0-9_-]+)/$ check_folder.php?folder=$1 
+0

对于您发布的示例网址,这实际上是错误的。这对'/ eg/folder = folder-ck'不起作用,因为存在'='符号。 – anubhava

+0

它给我结果/ eg/folder-ck这对我来说也可以。它的工作@anubhava再次感谢你的帮助:) – user1001176

+0

它的工作原理是因为你解决了一个不同的问题,而不是问题中提到的问题。您应该相应地编辑问题。 – anubhava