【发布时间】:2017-09-26 03:20:55
【问题描述】:
测试两个相同的文件夹,一个放在 Drupal 安装文件夹中,另一个放在一个普通的 html 子文件夹中 home root ,只有 CMS 安装中的那个的 php 链接有效。这是有道理的,因为 Drupal 有一个设置 php 文件和 .htaccess 文件,确保一切都在适当的位置,以使链接无论是否在主根目录中都可以正常工作。但是我认为通过简单的重写就可以很容易地让链接在普通的 html 子文件夹中工作 php 文件夹中存在的 .htaccess 文件中的规则。然而,尽我所能,到目前为止没有任何效果。
/etc/httpd/conf.d/my.conf中的配置
<VirtualHost *:80>
ServerName drupalsite.com
ServerAlias www.drupalsite.com
ServerAdmin vps@drupalsite.com
DocumentRoot "/var/www/html/drupalsite.com"
<Directory /var/www/html/drupalsite.com>
AllowOverride All
Allow from all
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName plainhtml.com
ServerAlias www.plainhtml.com
ServerAdmin vps@plainhtml.com
VirtualDocumentRoot "/var/www/html/plain”
</VirtualHost>
相同 php 文件夹中的 .htaccess 文件
RewriteEngine On
RewriteBase /phpfolder/
RewriteRule ^c-(.*)$ catpost.php?id=$1 [L]
RewriteRule ^a-(.*)-(.*)$ archives.php?month=$1&year=$2 [L]
RewriteCond %{REQUEST_FILENAME} !-d [NC]
RewriteCond %{REQUEST_FILENAME} !-f [NC]
RewriteRule ^(.*)$ viewpost.php?id=$1 [QSA,L]
所以 drupalsite.com/phpfolder 链接一切正常
但是plainhtml.com/phpfolder 链接不起作用
Drupal 的 php 文件夹位于 /var/www/html 并且 Drupal 站点是符号链接的
普通 html 子文件夹到根目录的 phpfolder 位于 /var/www/html/plain
两个 phpfolders 都归 apache:root 所有,其中的所有文件都归 root:root 所有
还尝试将 .htaccess 重写规则更改为:
重写基础/
RewriteBase /plain/
RewriteBase /plain/phpfolder/
【问题讨论】:
标签: php .htaccess httpd.conf