2012-01-31 55 views
0

我需要做以下修改到我的服务器的httpd.conf.htaccess文件改变

<Directory /> 
    Options FollowSymLinks 
    AllowOverride All 
</Directory> 

AllowOverride All 
AccessFileName .htaccess 

然而,我被告知,进行直接的变化是不可能的,因为它是一个shell服务器所以需要通过.htaccess文件使用mod_rewrite。

我的问题是现在,我该如何转换代码?我试图到处搜索,但无法找到任何答案。对不起,我是这方面的新手。

非常感谢。

问候, 肖恩

回答

0

你不能。您的设置基本上指示Apache使用.htaccess作为每个目录的配置文件并授予这些文件所有可用的权限。显然:

  1. 你不能把说明找到该文件中的文件(这就像保持安全的钥匙在锁定的安全柜内)。
  2. 该文件不允许自己授予这些权限。

有趣的一点是,为什么您需要这些更改,因为.htaccess已经是默认值,其他指令是托管服务根据其策略授予或拒绝的内容。

0

我知道你的服务器设置为不允许你访问httpd.conf,而是让你能够创建.htaccess文件来完成你需要的mod_rewrites。这是一个典型的情况。你不需要写任何东西到httpd.conf来实现这一点。它已经为你完成了。

要创建mod_rewrites,您需要创建一个带有该名称且没有扩展名但带有前一句点(。)的任何文本编辑器的.htaccess文件,并将其直接保存到您的域根目录中,例如。 www.yourdomain.com/.htaccess

在这个文件中,你会然后再编写代码的mod_rewrite下面这个模式:

的RewriteCond   test_string   cond_pattern

以下的mod_rewrite代码经常与WordPress使用以允许页面和帖子有一个更明智的固定链接模式:

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 

# END WordPress 

好文章阅读关于这个话题可以在:fubra.com