.htaccess 删除带有扩展名的php文件名并替换为值
我开始在我的项目中使用htaccess,并学习了一些基础知识,例如删除扩展。我试图删除php中的一个文件名,并将其替换为url中传递给eg的一个值.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+)
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