我暂时没有在.htaccess上使用网址重写,现在我想我已经忘记了一些基础。
这是我的服务器目录结构:
https://www.domain.com/dir/
我已经将我的网站放在这些文件中:
index.php
list.php
edit.php
home.php
我想要达到的目的是:用户写入https://www.domain.com/list
和.htaccess
等网址,将该请求发送给index.php?section=list
。
所以,这是我目前的.htaccess
:
RewriteEngine On
RewriteBase /dir
Redirect on HTTPS
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
RewriteRule /([a-zA-Z]+)/$ /index.php?section=$1 [NC,L]
在htaccess tester上测试它似乎按预期工作,但不在我的网络服务器上
我在服务器根目录中没有.htaccess
个文件,通过查看服务器日志,我只收到Redirect to non-URL
个错误。
我也见过this answer但到目前为止它对我没有帮助。
答案 0 :(得分:0)
在/dir/
目录中有这个.htaccess:
RewriteEngine On
RewriteBase /dir/
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=302]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([\w-]+)/?$ index.php?section=$1 [QSA,L]
这将支持美国网址http://domain.com/dir/list