1

使用以下 htaccess 代码我只得到文件名。

但我需要的是,如果用户访问一个 url

http://TEMPLATE.domain.com/FILENAME.html   

然后我得到它

index.php?page=site/FILENAME&skin=TEMPLATE

.ht 访问代码:

Options +FollowSymLinks -indexes
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST}    ^([a-z0-9]+)\.domain\.com$  [NC]
RewriteCond %{REQUEST_URI}  ([a-z0-9]+).html$                   [NC]
RewriteRule ^[^.]*.html$    index.php?page=site/%1&skin=%2      [L]
4

1 回答 1

1

尝试将您的规则更改为:

RewriteCond %{HTTP_HOST} ^([a-z0-9]+)\.domain\.com$  [NC]
RewriteRule ^([a-z0-9]+).html$ index.php?page=site/$1&skin=%1 [L,NC]

具体来说,您的反向引用正在丢失,因此您需要为以前的RewriteCond(通过%1)创建一个反向引用,然后针对规则的正则表达式创建一个反向引用,该正则表达式通过$1反向引用。

于 2013-10-22T16:03:32.070 回答