在从conf.d文件夹中移动mod_rewrite规则后,我遇到了让.htaccess中的mod_rewrite规则工作的问题。 我确实理解为了性能,让它坐在那里会更明智但我在文档根目录上提供了php文件夹,我不希望应用这些相同的规则。
这就是..任何和所有的帮助将不胜感激!
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^/([^/]*)/(\d+)/? /index.php?p=$1&id=$2 [QSA,L]
RewriteRule ^/([^/]*)/([^/]*)/(\d+)/? /index.php?p=$1&s=$2&id=$3 [QSA,L]
RewriteCond %{REQUEST_URI} !/(manual|admin|awstats)
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-f
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-d
RewriteRule ^/([^/]*)/?([^/]*)/? /index.php?p=$1&s=$2 [QSA,L]
</IfModule>
使用其他配置进行编辑:
<Location "/admin/">
SetHandler python-program
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE site.settings
#PythonDebug Off
</Location>
Alias /adminmedia/ "/usr/lib/python2.4/site-packages/django/contrib/admin/media/"
<Directory "/usr/lib/python2.4/site-packages/django/contrib/admin/media">
Options -Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
答案 0 :(得分:2)
<Directory>
部分。它仅限于该目录。 Directory
与.htaccess
的主要优势在于您不需要在AllowOverride
中允许任何内容。那就是:
use AllowOverride None
)改变apache配置的风险AllowOverride None
部分中的<Directory />
,请继续文件系统的顶部)现在,在.htaccess
文件中使用重写引擎时存在一些差异,例如,您可能需要使用 rewriteBase 。
答案 1 :(得分:1)
确保目录配置了AllowOverride FileInfo
(这是使用RewriteEngine所必需的)