我的ReWrite代码遇到了一些问题。请注意.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
你有什么事吗?
答案 0 :(得分:3)
您当前的规则可能适用于长度为一个字符的网址(在斜线之后)!
添加+
表示一个或多个字符,或添加*
表示零或更多
尝试
RewriteEngine On
RewriteRule ^/([A-Za-z0-9\-\_]*)$ /index.php?page=$1
答案 1 :(得分:2)
如果要使用.htaccess文件中的规则,则需要从RewriteRule
模式中删除上下文每目录路径前缀。如果.htaccess文件位于文档根目录/
中,则需要删除前导/
。
此外,您需要量化字符集。否则它只会描述一个字符。
所以试试这条规则:
RewriteRule ^([A-Za-z0-9-_]+)$ index.php?page=$1
答案 2 :(得分:0)
我认为
RewriteRule ^([^/]*)$ /index.php?page=$1 [L]
没问题;)