我将此规则添加到我的根网络服务器上的(htaccess
)文件中,以便任何人都可以尝试访问,让我们说/web server/test
然后索引会将'test'输入作为字符串,但它是不工作它继续说错误404 not found
。
我的代码如下:
<IfModule mod_deflate.c>
SetOutputFilter DEFLATE
</IfModule>
php_flag magic_quotes_gpc off
RewriteEngine on
RewriteRule ^([^./]{3}[^.]*)$ /index.php?page=$1 [QSA,L]
这有什么问题吗?
下面是我的apache2 conf文件....我在更改设置后覆盖所有内容时收到错误500.
现在我收到错误500 ...所以我可以提供更多信息......下面是我的htaccess文件代码
<IfModule mod_deflate.c>
SetOutputFilter DEFLATE
</IfModule>
php_flag magic_quotes_gpc off
RewriteEngine On
RewriteRule ^([^./]{3}[^.]*)$ /index.php?page=$1 [QSA,L]
我的apache2.conf文件.....
<Directory />
Options FollowSymLinks
AllowOverride All
#Require all denied
Order allow,deny
Allow from all
</Directory>
<Directory /usr/share>
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>
答案 0 :(得分:0)
你需要注意的两个关键点。
确保您的根目录可以被apache覆盖,请检查apache配置,通过以下方式更正设置:
<Directory />
Options FollowSymLinks Multiviews
#AllowOverride none
AllowOverride All
Order allow,deny
Allow from all
# Require all denied
</Directory>
检查您的重写规则并确保它们可以正常工作。在你的情况下,我测试遵守规则,并在我当地工作。
RewriteEngine On
RewriteRule ^(\w+)$ /index.php?page=$1 [L]
希望这可以帮到你!