我有一个英语和西班牙文的网站,每种语言都有自己的文件夹,例如:
news.com/en/ for English
news.com/es/ for Spanish
最新的新闻列表显示了一些简短的新闻部分:
news.com/en/latest-news.php for English
news.com/es/ultimas-noticias.php for Spanish
当用户点击某篇文章阅读整篇文章时,他们会链接到阅读整篇文章(使用MySQL中存储的slug),就像这样(例如):
news.com/en/general/news/europe/2022/10/22/this-is-a-nice-title
所有文章都使用以下页面获取slugs:
news.com/en/read-article.php for English
news.com/es/leer-noticia.php for Spanish
在这些页面上,脚本查询MySQL以搜索slug并显示完整的文章。问题是,我没有得到任何结果的一些原因,我不明白。
如果我移动到根文件:
news.com/read-article.php for English
news.com/leer-noticia.php for Spanish
然后它工作正常,但将这些文件添加到子文件夹我没有得到任何结果。
重要的是,slug保存在MySQL中如下所示:
general/news/europe/2022/10/22/this-is-a-nice-title
这是因为它们看起来比破折号更好,而且日期是出版日期,所以每篇文章都会改变。
下面是我为这些子文件夹创建的.htaccess代码:
更新:问题仅在htaccess中出现,即使我回答了自己的问题,也没有完全解决
RewriteEngine On
RewriteRule ^(en)/([a-zA-Z0-9-]+)$ $1/read-article.php?id=$2 [L]
RewriteRule ^(es)/([a-zA-Z0-9-]+)$ $1/leer-noticia.php?id=$2 [L]
你知道问题出在哪里吗?
1条答案
按热度按时间ilmyapht1#
对于这些寻求帮助,因为他们有同样的问题,我相信有很多:
我可以修复它在一个非常幸运,但肯定不是专业的方式,这可能是错误的方式,但它是工作。在这个网站上有很多类似的问题没有答案,所以看起来一般来说没有那么多关于htaccess的知识。
我找到的解决方案是:
所以你可以有你的网站在许多语言,每一种语言在一个子文件夹,但即使你只是运行一个单一的语言网站,并使用子文件夹,那么你肯定会需要这个帮助,你只要运行这个.htaccess,它会工作(编辑与您的文件名显然)
现在我们肯定需要的是阅读更多关于代码中的[L]的信息,还有许多其他类似的代码:
我不明白以下命令,如果他们是需要的,但你寻找帮助肯定可以找到它,或者也许这里的一些人可以与我们分享知识:
没有其他人回答这个问题,这与大多数关于.htaccess和friendly-urls的问题相同,但这里至少有一些东西,不专业,但我分享一些小的菜鸟知识,因为这是这个社区的主要思想,不是每个人都是专业人士,但我们都可以分享知识。如果有一个更好的答案,我一定会标记为正确的