在.htaccess中重写SEO友好的URL

在.htaccess中重写SEO友好的URL,.htaccess,.htaccess,在你标记这个问题之前--我确实搜索了答案,发现了一个与我相近的没有直接回答的答案,所以 我正在尝试在.htaccess文件中编写一个简单的重写规则,只更改与SEO友好格式匹配的链接 RewriteEngine On RewriteRule ^/includes/seo.([a-zA-Z]+).php$ /$1 如果我有文件 /includes/seo.mydocument.php 它将在浏览器中显示为 /mydocument 不确定我遗漏了什么。前导斜杠在.htaccess规则中不匹配,因

在你标记这个问题之前--我确实搜索了答案,发现了一个与我相近的没有直接回答的答案,所以

我正在尝试在.htaccess文件中编写一个简单的重写规则,只更改与SEO友好格式匹配的链接

RewriteEngine On
RewriteRule ^/includes/seo.([a-zA-Z]+).php$ /$1
如果我有文件

/includes/seo.mydocument.php
它将在浏览器中显示为

/mydocument

不确定我遗漏了什么。

前导斜杠在.htaccess规则中不匹配,因此请使用此选项

RewriteRule ^includes/seo\.([a-zA-Z]+)\.php$ /$1 [L,R]
但你可能想要这个:

RewriteEngine On

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+includes/seo\.([^.]+)\.php[/\s?] [NC]
RewriteRule ^ /%1? [R=302,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/.]+)/?$ /includes/seo.$1.php [L]

查看已编辑的代码,并确保它位于文档根目录中。htaccessIt有效!哇,比我想象的要复杂得多。。。谢谢