.htaccess mod_rewrite / regex具有未知的文件夹名称

3bygqnnd  于 2022-11-16  发布在  其他
关注(0)|答案(1)|浏览(126)

我已经阅读了大约6或7建议类似的职位,但仍然不能得到这个工作。

我有一个PHP网站,其中包含帮助文章部分,它通过文章ID从数据库中提取内容。当前URL格式=

/sitename/help.php?h=69

我想将URL格式更改为:

/sitename/help/69/title-of-the-article

在服务器上启用Mod_rewrite,这似乎可以工作:

RewriteRule ^help/([0-9]+)/?(.*)/?$ /sitename/help.php?h=$1 [NC,L]

/sitename/help/69/random-title加载/sitename/help.php?h=69的内容
但是,有些文章包含图像,来自路径/sitename/images/。修改后的URL意味着浏览器尝试从sitename/help/69/images/example.jpg调用/sitename/images/example.jpg
'69'是一个未知的变量,(这似乎打破了所有的例子,我已经尝试!),但应该始终是一个1,2或3位数。请有人可以帮助重写/regex查询,以删除/help/{article id}/从我的图片网址?

bq3bfh9z

bq3bfh9z1#

请尝试以下.htaccess rules文件。请确保将.htaccess rules文件与sitename文件夹沿着保存(不要放在文件夹内,而要放在文件夹旁边)。在测试URL之前,还要清除浏览器缓存。

RewriteEngine ON

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^sitename/(help)/(\d+)/.+$  sitename/help.php?h=$1 [NC,L]

相关问题