简而言之:我正在一个网站上工作,消费者可以在该网站上比较多个分支机构的公司(服务提供商)。因此,我们使用最大的 SEO 友好 url。3 个“目录” mydomain.com/1/
:mydomain.com/1/2/
和mydomain.com/1/2/3
。在这些 url 中是 1 用户可以搜索的分支机构,2 代表城市,3 定义公司名称。
我已经在我的 .htaccess 文件中使用以下代码完成了这项工作。
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
RewriteRule ^(style|media)(/.*)?$ - [L]
RewriteRule index\.* index.php [L,QSA]
RewriteRule ^([^/]*)/([^/]*)/$ branch.php?branch=$1&city=$2 [L,QSA]
RewriteRule ^([^/]*)/([^/]*)/([^/]*)/?$ company.php?branch=$1&city=$2&company=$3 [L,QSA]
RewriteRule ^([^/]*)/([^/]*)$ branch.php?branch=$1&city=$2 [L,QSA]
RewriteRule ^([^/][a-zA-Z0-9-]+)$ branch.php?branch=$1 [L,QSA]
</IfModule>
我的样式表位于目录样式中,如果您访问网址 mydomain.com 或 mydomain.com/1,这可以正常工作。地址 mydomain.com/1/ 并进一步重定向到正确的文件名,但继续在mydomain.com/1/style/
(或mydomain.com/1/2/style
等等)中搜索 stylesheet.css。我知道这个网站上有很多这样的问题,我尝试了很多,但没有一个能真正做到我想要的。
我知道这种情况是否很艰难,所以我想我会让它变得更容易(但由于这个语言让我感到困惑,我现在真的不知道该怎么做哈哈)。所以这就是我需要的:
- 每个请求都必须重定向到 index.php,并将给定的目录作为参数添加。(所以 domain.com/1/ 重写
index.php?1=1
和 domain.com/1/a/b 重写index.php?1=1&2=a&3=b, in index.php
我将查找我必须包含的页面)。 - 此规则不包括 Dirs样式和媒体。
- 并非必须排除每个现有的目录或文件,因为用户可能无法访问包含的目录(例如)
我希望你能帮助我,因为我把它弄得一团糟^^
谢谢!