Apache Htaccess重写规则子文件夹

Apache Htaccess重写规则子文件夹,apache,.htaccess,url-rewriting,Apache,.htaccess,Url Rewriting,我对Url重写是个新手。我必须这样做到我们自己的CMS有一个好看的网址,并得到一个更好的结构,让搜索引擎(SEO)的结果 这是完成所有工作的后台文件,我们现在使用尼斯URL隐藏了这些工作: 这是我的结构模式的一个示例: 或者 CMS只需在FR目录中创建一个HTACCESS文件,以实现如下基本重写规则: Options +FollowSymlinks RewriteEngine On RewriteRule produits/solives-de-rive-rimboard index

我对Url重写是个新手。我必须这样做到我们自己的CMS有一个好看的网址,并得到一个更好的结构,让搜索引擎(SEO)的结果

这是完成所有工作的后台文件,我们现在使用尼斯URL隐藏了这些工作:

这是我的结构模式的一个示例:

  • 或者
CMS只需在FR目录中创建一个HTACCESS文件,以实现如下基本重写规则:

Options +FollowSymlinks
RewriteEngine On
RewriteRule produits/solives-de-rive-rimboard index.php?p=144
RewriteRule produits/decoupe-sur-mesure index.php?p=145
RewriteRule produits/panneaux-osb index.php?p=146
RewriteRule produits/boites-de-bois-crates index.php?p=147
RewriteRule produits/palettes-de-bois index.php?p=148
RewriteRule accueil index.php?p=4
RewriteRule a-propos-de-cimdat index.php?p=139
RewriteRule produits index.php?p=140
RewriteRule videos index.php?p=141
RewriteRule nous-joindre index.php?p=142
所有作品都适合第一级页面,如“accueil”、“nous joindre”

但我还没有找到像“produits/solives de rive rimboard”这样的第二级和第三级页面的工作。php只是加载得很好,除了与此页面相关的所有链接都是一个子文件夹之外(css、图像、jquery…)

我是否可以在htaccess文件中使用任何标记来指定index.php的任何级别“acueil”、“produits/something”或第三级别(如“produits/group/something”)都有一个基本路径

我更喜欢在htaccess中寻找解决方案,而不是给index.php一个“
”,这可能会给我们的结构带来其他问题


谢谢

这是一个HTML问题,而不是服务器或.htaccess问题。如果您的浏览器看到类似/category/product的内容,则无论内部服务器端重定向将请求发送到何处,它都会表现为它位于/category/文件夹中

解决方法很简单,将html中的所有链接更改为相对于站点根的链接。所以如果你有一个像这样的图像标签

<img src="img/button.gif" />

换成

<img src="/img/button.gif" />

这会告诉浏览器从根目录到请求文件的确切路径,而不考虑重写规则。这需要为所有相关链接完成,包括css和Java脚本。这可能需要做一点工作,但一旦完成,以后的维护应该会容易得多,因为您不必担心页面的外观路径


是的,这可以通过.htaccess相当简单地实现,但也有一些副作用,包括搜索引擎可能会将其视为重复内容,并且可能会增加服务器带宽使用,因为用户无法高效缓存静态内容。您最好的选择是在网站处于新的发展阶段时立即遵循最佳实践,而不是在解决方案出现问题后再尝试修复它。

这些是替代URL,真正的URL。但是请求的URL是怎样的呢?至少有一个例子来说明模式。换句话说,如果可能的话,请给出一个在浏览器地址栏中输入的URL示例,以及要重定向到的相应重写URL。Doh抱歉URL替换。。。刚刚更新了我的初始帖子@Jaune这将帮助您轻松修改链接。