VIK*_*ASH 7 apache .htaccess mod-rewrite debian
我正在使用apache2(我的虚拟服务器)已经安装了我的Debian.一切顺利,但现在我的问题.htaccess
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
Run Code Online (Sandbox Code Playgroud)
它不起作用
我认为它是因为我使用的apache2版本以及我的代码或我必须在我的服务器上配置的问题
如果输入错误或不可用,我想将我的网址重定向到主索引页面
VIK*_*ASH 29
花了一整天后,我得到了答案
在文件夹
apache2 >> sites-available >>有一个名为default的文件
默认情况下,我们必须更改它
从:
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
Run Code Online (Sandbox Code Playgroud)
至:
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
Run Code Online (Sandbox Code Playgroud)
它的工作.它启用了.htaccess文件.
TFo*_*otH 11
我想补充说/etc/apache2/mods-available/rewrite.load需要启用:
a2enmod rewrite
Run Code Online (Sandbox Code Playgroud)
在Debian上,我认为它默认启用,但我的不是.
这段代码:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ /index.php?url=$1 [QSA,R]
Run Code Online (Sandbox Code Playgroud)
如果文件不存在,将重定向http://example.com/test.php到。http://example.com/index.php?url=test.php我的代码和你的代码之间的唯一区别是我有 [R] 而不是 [QSA,L] 如果它仍然对你不起作用并且你在根文件夹中有 htaccess 文件,我认为它不是htaccess 文件问题
| 归档时间: |
|
| 查看次数: |
34191 次 |
| 最近记录: |