/etc/apache2/sites-available/default.conf读取:
<Directory>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
</Directory>
我启用了mod_rewrite
在/ var / www / sitename下 我有我的.htaccess文件,内容如下:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
然而,当访问localhost / sitename /目录时,我收到404错误
我在这里缺少什么?
答案 0 :(得分:0)
尝试在第一个RewriteRule ^(directory)($|/) - [L]
上方添加RewriteCond
,这样它就会从RewriteRule
中排除目录,您可以通过|
分隔RewriteRule ^(forum|extras)($|/) - [L]
来添加多个目录}}
以下是一个例子:
RewriteEngine On
RewriteBase /
RewriteRule ^(directory)($|/) - [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
答案 1 :(得分:0)
对于使用ubuntu的人,我发现这个答案是完整的。
答案 2 :(得分:0)
试试这个 -
Options +FollowSymLinks
RewriteEngine on
RewriteRule process-id-(.*)\.htm$ process.php?id=$1