我有一个使用PHP查询字符串的URL字符串。我想使URL漂亮,但我还不能使规则正确。
目前的URL如下所示:
http://localhost/pages/map?name=Skyfall-2022
但我希望它看起来像这样:
http://localhost/pages/Skyfall-2022
这是我目前的htaccess
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
RewriteRule ^([^\.]+)$ $1.html [NC,L]
RewriteRule ^pages/(.+)$ /pages/map?name=$1
当我尝试键入所需的URL时,我得到一个500内部错误。我不是很理解正则表达式,所以如果有人能用更新的.htacces为我调整这个,我将不胜感激
1条答案
按热度按时间jaql4c8m1#
使用您显示的示例,请尝试遵循htaccess规则。
请确保在测试URL之前清除浏览器缓存。
***注意:***我在重写规则中提到了map?(第二组规则也写在规则的注解中),你可以用你的php文件名来改变它,无论你要把查询字符串传递到什么php文件。
***注2(OP的修复程序根据OP环境):***稍微调整了一条规则到
$1/all-maps.php?name=$2 to $1/map.php?name=$2
,并将all-maps.php目录下移一个目录,这些规则工作得很好,OP在这里的评论中提到了这些规则。只是在这里分享,在未来它可以帮助人们,除了上述规则,这是作为解决方案的一部分。