0

我的重写代码遇到了一些问题。请注意,.htaccess 文件位于子域文件夹 (...public_html/subdomain/ )

我只是想重写一个页面请求:

http://subdomain.mysite.com/home
http://subdomain.mysite.com/index.php?page=home

我的 .htaccess 文件看起来像这样......

RewriteEngine On
RewriteRule ^/([A-Za-z0-9\-\_])$ /index.php?page=$1

有什么东西冲着你跳出来吗?

4

3 回答 3

3

您当前的规则可能适用于一个字符长的网址(斜线之后)!

添加 a+来表示一个或多个字符,或添加 a 来表示*零个或多个

尝试

RewriteEngine On
RewriteRule ^/([A-Za-z0-9\-\_]*)$ /index.php?page=$1
于 2009-05-26T18:29:58.720 回答
2

如果要在 .htaccess 文件中使用规则,则需要从RewriteRule模式中去除上下文的每个目录路径前缀。如果 .htaccess 文件位于文档根目录/中,则需要去掉前导/

此外,您需要量化字符集。否则它只会描述一个字符。

所以试试这个规则:

RewriteRule ^([A-Za-z0-9-_]+)$ index.php?page=$1
于 2009-05-26T18:38:33.647 回答
0

我认为

RewriteRule ^([^/]*)$ /index.php?page=$1 [L]

没关系;)

于 2011-11-22T19:48:35.930 回答