Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.htaccess 删除带有扩展名的php文件名并替换为值_.htaccess - Fatal编程技术网

.htaccess 删除带有扩展名的php文件名并替换为值

.htaccess 删除带有扩展名的php文件名并替换为值,.htaccess,.htaccess,我开始在我的项目中使用htaccess,并学习了一些基础知识,例如删除扩展。我试图删除php中的一个文件名,并将其替换为url中传递给eg的一个值 example.com/eg/check_folder.php?folder=folder-ck 到 但我无法实现这一点,我做了以下代码。请告诉我哪里错了 RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^/http://example.com/eg/(\d+)

我开始在我的项目中使用htaccess,并学习了一些基础知识,例如删除扩展。我试图删除php中的一个文件名,并将其替换为url中传递给eg的一个值

example.com/eg/check_folder.php?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]

首先,通过将相同的垃圾文本放在
.htaccess
的顶部,验证您的
.htaccess
是否已启用,并查看它是否生成500(内部服务器)错误

确保启用后,确保也启用了
mod_rewrite

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

RewriteEngine on
RewriteBase /eg/

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

我通过在我的eg文件夹中使用以下代码来实现这一点

RewriteEngine On

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

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

“重写”模块肯定处于活动状态。我也尝试了你的代码,但没有像我在回答中写的那样进行500错误检查的LuckId。内部服务器错误这是唯一的规则还是你也有一些重写规则?对于你发布的示例URL,这实际上是错误的。这对
/eg/folder=folder ck
不起作用,因为存在
=
符号。它会给我结果/eg/folder ck,这对我来说也是正常的。它起作用了@anubhava再次感谢你的帮助:)它起作用了,因为你解决了一个不同的问题,而不是问题中所说的。你应该相应地编辑问题。
RewriteEngine On

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

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