Php 重写语言站点的规则

Php 重写语言站点的规则,php,apache,.htaccess,mod-rewrite,Php,Apache,.htaccess,Mod Rewrite,我做了一个多语言的网站,为了更好的搜索引擎优化,我尝试用一些重写规则制作一个htaccess文件 网站是这样的: 基数/指数 基本/文件夹1/索引 基本/文件夹2/索引 基本/文件夹3/索引 有什么我可以做或我错过了,为改善网站 这是错误的: RewriteRule ^\.(css|jpe?g|gif|png)$ - [L] ^表示“URI的开始”,而$表示“URI的结束”。因此,该模式将只匹配如下所示的URI:http://example.com/.css。摆脱^: Rewrite

我做了一个多语言的网站,为了更好的搜索引擎优化,我尝试用一些重写规则制作一个htaccess文件

网站是这样的:

  • 基数/指数
    • 基本/文件夹1/索引
    • 基本/文件夹2/索引
    • 基本/文件夹3/索引

有什么我可以做或我错过了,为改善网站

这是错误的:

RewriteRule ^\.(css|jpe?g|gif|png)$ - [L]
^
表示“URI的开始”,而
$
表示“URI的结束”。因此,该模式将只匹配如下所示的URI:
http://example.com/.css
。摆脱
^

RewriteRule \.(css|jpe?g|gif|png)$ - [L]
至于后面的斜杠,您应该确保没有请求目录:

###########
#   Remove a trailing slash if needed 
######
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^(.+)/$
RewriteRule ^(.*)/$ $1 [R=301,L]

或者关闭mod_dir。Mod_dir将自动将对缺少尾部斜杠的目录的任何请求重定向到具有尾部斜杠的相同URL。这与您的规则相反,它将导致重定向循环。有一个很好的理由让mod_dir保持打开状态,因为它可以防止目录内容的信息泄露,即使你有一个索引文件。

你想通过这个问题改进的关键领域是什么?我只想知道我在htaccess中所做的一切是否都是正确的,并且不会导致一些SEO问题,像国旗一样…sry…:)太感谢了…我在我的脸上加了你的修正。你之前有没有用过一个目录没用…thx曾经在这里为以后添加thx!!!!
###########
#   Remove a trailing slash if needed 
######
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^(.+)/$
RewriteRule ^(.*)/$ $1 [R=301,L]