php – 如何创建这样的“.htaccess”文件?

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – 如何创建这样的“.htaccess”文件?脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试创建.htaccess,但我们遇到了一些困难.

以下是我需要的示例,记住一切都必须在同一个URL上.@H_406_7@

1)每当用户访问网站时,都希望在URL的末尾添加/ home /.

Before: http://app.meusITe.COM/ 
After: http://app.meusite.com/home/

2)我希望所有URL都删除.PHP.

Before: http://app.meusite.com/login.PHP
After: http://app.meusite.com/LOGin/

3)我想要所有URL如下:

之前:

http://app.meusite.com/usuario-adicionar.PHP
http://app.meusite.com/usuario-editar.PHP
http://app.meusite.com/usuario-excluir.PHP

后:

http://app.meusite.com/usuario/adicionar/
http://app.meusite.com/usuario/editar/
http://app.meusite.com/usuario/excluir/

只需注意一个注意事项……

因为整个站点都是多语言的,所以必须都接受将获得LANG = LANGUAGE的参数页面(例如:lang = en_US).

然后上面的所有网址,也必须接受GET外衣,并希望保留如下:

http://app.meusite.com/index.PHP?lang=en_US
http://app.meusite.com/home/en_US/

http://app.meusite.com/login.PHP?lang=en_US
http://app.meusite.com/login/en_US/

http://app.meusite.com/usuario-adicionar.PHP?lang=en_US
http://app.meusite.com/usuario/adicionar/en_US/

http://app.meusite.com/usuario-editar.PHP?lang=en_US
http://app.meusite.com/usuario/editar/en_US/

http://app.meusite.com/usuario-excluir.PHP?lang=en_US
http://app.meusite.com/usuario/excluir/en_US/

我希望它能理解我的问题.而且,你能帮我做吗?

下面,我的尝试:

Options -MultiViews
Options +FollowSyMLinks
RewriteEngine on

RewriteBase /
RewriteCond %{REQUEST_FILENamE} !-f
RewriteCond %{REQUEST_URI} !(.*)/$

rewriterule ^home\/?(.*)\/?$index.PHP?lang=$1 [L]
RewriteRule ^([^/]*)\/?(.*)\/?$$1.PHP?lang=$2 [L]
RewriteRule ^([^/]*)\/([^/]*)\/([^/]*)\/?$$1-$2.PHP?lang=$3 [L]

解决方法

删除文件扩展名之前,您需要先确保MultiViews已打开.此外,如果您担心搜索引擎可能将您的网页编入索引为重复内容,则应在HTML标题中包含一个规范元标记,以描述您希望链接外观.它应该如下所示:

<link rel="canonical" href="http://example.com/post/post-title/">

要取消文件扩展名并添加正斜杠,您需要这段代码.

#turn on Multiviews if not already turned on
Options +MultiViews

#takes off the .PHP
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/$$1.PHP
RewriteRule ^([^/]+)/([^/]+)/$/$1/$2.PHP

#adds the trailing slash
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
RewriteRule (.*)$/$1/ [R=301,L]

我从这里学到了这一点,并成功地使用了我自己的.htaccess文件中的代码.我还没有弄清楚如何处理你的问题的多语言方面.我从未遇到过这个问题.但是当我睡得更好的时候,我会做一些研究,如果我发现任何有用的东西,我会回到这里.感觉就像答案正盯着我的脸.

修复后,请不要忘记执行301重定向.

脚本宝典总结

以上是脚本宝典为你收集整理的php – 如何创建这样的“.htaccess”文件?全部内容,希望文章能够帮你解决php – 如何创建这样的“.htaccess”文件?所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。