Mod rewrite mod_重写友好url

Mod rewrite mod_重写友好url,mod-rewrite,Mod Rewrite,我一直在尝试为一个站点添加一个mod_重写,但它几乎不起作用 此URL“”应重写为“” 这是我到目前为止尝试的最后一个版本 RewriteEngine On RewriteCond %{REQUEST_URI} !(css|images|scripts|js|files) RewriteRule ^([A-Za-z0-9]+).*/(.*)$ $2?platform=$1& [L] 该规则应该适用于每个URL,无论是没有子文件夹,还是只有1个或5个。 我不能让rewriteRule执行

我一直在尝试为一个站点添加一个mod_重写,但它几乎不起作用

此URL“”应重写为“”

这是我到目前为止尝试的最后一个版本

RewriteEngine On
RewriteCond %{REQUEST_URI} !(css|images|scripts|js|files)
RewriteRule ^([A-Za-z0-9]+).*/(.*)$ $2?platform=$1& [L]
该规则应该适用于每个URL,无论是没有子文件夹,还是只有1个或5个。 我不能让rewriteRule执行index.php/server/argument2/argument3之类的操作,因为我必须重写所有代码才能与之兼容

任何帮助都将不胜感激

试试这个规则:

RewriteRule ^([^/]+)/([^/]+)/(.+) $1/$2?platform=$2 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/(.+) $2?platform=$1 [L,QSA]

编辑如果要在文档根目录下的子文件夹中使用具有任意数量的以下路径段的规则,请尝试此规则:

RewriteRule ^([^/]+)/([^/]+)/(.+) $1/$2?platform=$2 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/(.+) $2?platform=$1 [L,QSA]

我想他也只想要一个目录的黑名单(
(css | images | scripts | js | files)
),不应该被转发。我想阻止图像、css、脚本等通过这个规则。上面的重写规则不太有效,它总是期望:server/subfolder/file.php我需要它期望0个或更多子文件夹,所以server/file.php或server/subfolder/subfolder/file.php。因为我有像server/cms/cms.php和server/index.php这样的URL。只需稍微调整一下,上面的重写规则就起作用了:RewriteCond%{REQUEST_FILENAME}-f重写规则^([^/]+)/(.*)$2?平台=$1[L,QSA]