这是我的 .htaccess 代码
ErrorDocument 404 /404.php
Options -Multiviews
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/?$ profile?username=$1 [NC,L]
RewriteCond %{REQUEST_FILENAME}!-f
RewriteCond %{REQUEST_FILENAME}!-d
RewriteRule ^([a-z]+)/([a-z\-]+)$ /$1/$2.php
RewriteRule ^s/([^/]*)$ /s.php?share=$1 [L]
RewriteCond %{HTTP_HOST} !^$
RewriteCond %{HTTP_HOST} ^mywebsite.com [NC]
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
我希望我网站上的用户能够像 twitter 一样访问他们的个人资料。例如 www.mywebsite.com/Jim 实际上会被重写为 www.mywebsite.com/profile?username=Jim。
目前唯一有效的代码部分是允许没有 php 扩展名的 url。例如 www.mywebsite.com/home 而不是 www.mywebsite.com/home.php。
此外,s.php 的重写规则不能正常工作。我希望将 www.mywebsite.com/s/123456 页面写为 www.mywebsite.com/s?share=12345。
如果我的 htaccess 的顺序错误,我不会这样做,但这些似乎都不起作用。此外,当找不到页面时,即使我有 404.php 的重写规则,我仍然会得到默认的 Apache 404