Php .htaccess ModReWrite帮助

Php .htaccess ModReWrite帮助,php,.htaccess,mod-rewrite,friendly-url,Php,.htaccess,Mod Rewrite,Friendly Url,我在重写代码时遇到了一些问题。请注意,.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 有什么

我在重写代码时遇到了一些问题。请注意,.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

有什么东西跳出来了吗?

您当前的规则可能适用于一个字符长的URL(斜杠后)

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

试一试


您当前的规则可能适用于一个字符长的URL(斜杠后)

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

试一试


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

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

所以试试这个规则:

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

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

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

所以试试这个规则:

RewriteRule ^([A-Za-z0-9-_]+)$ index.php?page=$1
我想

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

我想

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

没关系;)

请不要基于想法给出答案。答案中的代码应该经过测试。请不要基于想法给出答案。答案中的代码应该经过测试。