Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Ubuntu 14.04.2 LTS上使用.htaccess?php_Php_Apache_.htaccess_Ubuntu_Mod Rewrite - Fatal编程技术网

如何在Ubuntu 14.04.2 LTS上使用.htaccess?php

如何在Ubuntu 14.04.2 LTS上使用.htaccess?php,php,apache,.htaccess,ubuntu,mod-rewrite,Php,Apache,.htaccess,Ubuntu,Mod Rewrite,我是个新手。我使用的是Ubuntu 14.04.2,我在目录/var/www/example.com/.htaccess中创建了一个.htaccess文件。但是我的脚本hello.php不工作,而是返回error 500 internal server error 第一步: 1. enabling mod-rewrite using sudo a2enmod rewrite 2. change config sudo nano /etc/apache2/sites-available/000

我是个新手。我使用的是Ubuntu 14.04.2,我在目录
/var/www/example.com/.htaccess
中创建了一个
.htaccess
文件。但是我的脚本
hello.php
不工作,而是返回
error 500 internal server error

第一步:

1. enabling mod-rewrite using 
sudo a2enmod rewrite

2. change config
sudo nano /etc/apache2/sites-available/000-default.conf

<Directory "/var/www">
    AllowOverride All
</Directory>

3. restart apache2
sudo service apache2 restart

4. create .htaccess in sub folder
sudo nano /var/www/example.com/.htaccess

你可能想尝试一些东西。首先,您没有在重定向中包含尾部斜杠。其次,针对
%{REQUEST\u FILENAME}
变量的
-f
检查不起作用,因为它是模糊的,将处理路径信息。因此,请尝试:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

## hide .php extension
# To externally redirect /dir/foo.php to /dir/foo
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1/ [R,L,NC]

## To internally redirect /dir/foo to /dir/foo.php
RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule ^(.*?)/?$ $1.php [L]

你可能想尝试一些东西。首先,您没有在重定向中包含尾部斜杠。其次,针对
%{REQUEST\u FILENAME}
变量的
-f
检查不起作用,因为它是模糊的,将处理路径信息。因此,请尝试:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

## hide .php extension
# To externally redirect /dir/foo.php to /dir/foo
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1/ [R,L,NC]

## To internally redirect /dir/foo to /dir/foo.php
RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule ^(.*?)/?$ $1.php [L]

当你收到一个
500内部服务器错误
,你可以检查你的Apache错误日志,通常可以找到一个更详细的关于发生了什么的帐户。有时候访问权限也会导致ubuntu中出现这样的500个内部服务器错误。。。转到终端并将“cd”放入您的www目录,然后尝试执行“sudo chmod 755-R example.com”,并在收到
500内部服务器错误时重试,你可以查看你的Apache错误日志,通常可以找到一个关于发生了什么的更详细的描述。有时候访问权限也会导致ubuntu中出现500个内部服务器EROR。。。转到终端并将“cd”放入您的www目录,然后尝试执行“sudo chmod 755-R example.com”,并尝试是否有效。。。