我正在尝试使用干净的网址,这是我的代码:
Options -Multiviews -Indexes +FollowSymLinks
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteEngine ON
RewriteRule ^([0-9a-z\-\_]+)?$ profile.php?q=$1 [QSA,L,NC]
RewriteRule ^([^\.]+)$ $1.php [NC,L]
ErrorDocument 404 /page/error?q=aqw
唯一的问题是,我无法调用目录,我必须指定文件名,例如:
<a href="site.com/help">Help</a> //this is not working
<a href="site.com/help/index"></a> //This is working
那我怎么能解决这个问题,谢谢
答案 0 :(得分:0)
查看您的规则我认为您的第一条规则是多余的,您可以删除。
在您的文档根目录中尝试此操作:
RewriteEngine On
RewriteBase /
ErrorDocument 404 /error?q=aqw
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1\.php -f [NC]
RewriteRule ^(.+?)/?$ $1.php [L]