Re: Pretty Permalinks on Debian VPS Server
thanks for your reply, I am sending my httpd.conf, and htaccess files for wordpress and bbpress. Im also using gallery2 which is located at /somegalleryfolder. I use a plugin to integrate it with wordpress. But it has no problem, before or after I moved to the new vps. Bbpress is located at /forum folder. And its htaccess is contains only the code generated by bb-admin/rewrite-rules.php
I found my httpd.conf file, I dont know whether there is a security issue to put it here or not. But I hope it give you some idea about what could be problem:
#
# This is the main Apache HTTP server configuration file. It contains the
# configuration directives that give the server its instructions.
# See <URL:http://httpd.apache.org/docs/2.2> for detailed information.
# In particular, see
# <URL:http://httpd.apache.org/docs/2.2/mod/directives.html>
# for a discussion of each configuration directive.
#
# Do NOT simply read the instructions in here without understanding
# what they do. They're here only as hints or reminders. If you are unsure
# consult the online docs. You have been warned.
ServerRoot “/etc/httpd”
Listen 80
#LoadModule php4_module /usr/lib/apache/libphp4.so
LoadModule php5_module /usr/lib/apache/libphp5.so
#LoadModule suphp_module /usr/lib/apache/mod_suphp.so
LoadModule php5_module /usr/lib/apache/libphp5.so
User apache
Group apache
ServerAdmin admin@localhost
DocumentRoot “/var/www/html”
<Directory /home/*>
AllowOverride All
Options +MultiViews -Indexes +FollowSymlinks +IncludesNoExec +Includes
<Limit GET POST OPTIONS PROPFIND>
Order allow,deny
Allow from all
</Limit>
<LimitExcept GET POST OPTIONS PROPFIND>
Order deny,allow
Deny from all
</LimitExcept>
</Directory>
<Directory />
Options All
AllowOverride All
</Directory>
<Directory “/var/www/html”>
Options +Indexes +FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
<IfModule mod_suphp.c>
suPHP_Engine On
suPHP_UserGroup webapps webapps
</IfModule>
</Directory>
<IfModule dir_module>
DirectoryIndex index.html index.htm index.shtml index.php index.php5 index.php4 index.php3 index.phtml index.cgi
</IfModule>
<FilesMatch “^.ht”>
Order allow,deny
Deny from all
Satisfy All
</FilesMatch>
ErrorLog /var/log/httpd/error_log
LogLevel warn
<IfModule log_config_module>
#replace %b with %O for more accurate logging
<IfModule mod_logio.c>
LogFormat “%h %l %u %t “%r” %>s %O “%{Referer}i” “%{User-Agent}i”” combined
LogFormat “%h %l %u %t “%r” %>s %O” common
LogFormat “%O” bytes
LogFormat “%h %l %u %t “%r” %>s %b “%{Referer}i” “%{User-Agent}i” %I %O” combinedio
</IfModule>
CustomLog /var/log/httpd/access_log common
</IfModule>
<IfModule alias_module>
# Include some DirectAdmin alias
Include conf/extra/httpd-alias.conf
</IfModule>
<Directory “/var/www/cgi-bin”>
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
DefaultType text/plain
<IfModule mime_module>
TypesConfig conf/mime.types
AddType application/x-gzip .tgz
AddEncoding x-compress .Z
AddEncoding x-gzip .gz .tgz
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddHandler cgi-script .cgi
AddHandler type-map var
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
AddType video/x-ms-asf .avi
AddType video/mpeg .mpg
AddType video/mpeg .mpeg
AddType video/quicktime .mov
AddType video/x-ms-wmv .wmv
</IfModule>
#EnableMMAP off
#EnableSendfile off
#######################################################################################
# Do not change anything in included files, because they are rewritten by DirectAdmin #
#######################################################################################
# This is needed for PHP
Include conf/extra/httpd-php-handlers.conf
# Server-pool management (MPM specific)
Include conf/extra/httpd-mpm.conf
# Multi-language error messages
Include conf/extra/httpd-multilang-errordoc.conf
# Fancy directory listings
Include conf/extra/httpd-autoindex.conf
# Language settings
Include conf/extra/httpd-languages.conf
# User home directories
#Include conf/extra/httpd-userdir.conf
# Real-time info on requests and configuration
Include conf/extra/httpd-info.conf
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
# Local access to the Apache HTTP Server Manual
#Include conf/extra/httpd-manual.conf
# Distributed authoring and versioning (WebDAV)
Include conf/extra/httpd-dav.conf
# Various default settings
Include conf/extra/httpd-default.conf
# Secure (SSL/TLS) connections
Include conf/extra/httpd-ssl.conf
# Deflate module settings
Include conf/extra/httpd-deflate.conf
# All the DirectAdmin vhosts
Include conf/extra/directadmin-vhosts.conf
# All suPHP directives
Include conf/extra/httpd-suphp.conf
# All the other includes needed by the custombuild script
Include conf/extra/httpd-includes.conf
#######################################################################################
# End of included files that are rewritten by DirectAdmin #
#######################################################################################
<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>
and this is my wordpress .htaccess file, it is in root folder for the domain
php_value upload_max_filesize "50M"
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
# BEGIN Url Rewrite section
# (Automatically generated. Do not edit this section)
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} gallery_remote2.php
RewriteCond %{REQUEST_URI} !/wp-gallery2.php$
RewriteRule . – [L]
RewriteCond %{QUERY_STRING} view=core.DownloadItem
RewriteCond %{HTTP:Referer} !^[a-zA-Z0-9+.-]+/www.domain.com/ [NC]
RewriteCond %{HTTP:Referer} !^$
RewriteRule . /wp-gallery2.php [F,L]
RewriteCond %{QUERY_STRING} g2_view=core.DownloadItem
RewriteCond %{QUERY_STRING} g2_itemId=([0-9]+)
RewriteCond %{HTTP:Referer} !^[a-zA-Z0-9+.-]+/www.domain.com/ [NC]
RewriteCond %{HTTP:Referer} !^$
RewriteRule . /galery/main.php?g2_view=rewrite.DownloadItem&g2_itemId=%1 [L]
RewriteCond %{THE_REQUEST} /sitemap(?.| .)
RewriteCond %{REQUEST_URI} !/wp-gallery2.php$
RewriteRule . /wp-gallery2.php?g2_view=sitemap.Sitemap [QSA,L]
RewriteCond %{THE_REQUEST} /tags(?.| .)
RewriteCond %{REQUEST_URI} !/wp-gallery2.php$
RewriteRule . /wp-gallery2.php?g2_view=tags.TagCloud [QSA,L]
RewriteCond %{THE_REQUEST} /admin/(?.| .)
RewriteCond %{REQUEST_URI} !/wp-gallery2.php$
RewriteRule . /wp-gallery2.php?g2_view=core.SiteAdmin [QSA,L]
RewriteCond %{THE_REQUEST} /comments/add/([0-9]+).html(?.| .)
RewriteCond %{REQUEST_URI} !/wp-gallery2.php$
RewriteRule . /wp-gallery2.php?g2_view=comment.AddComment&g2_itemId=%1 [QSA,L]
RewriteCond %{THE_REQUEST} /comments/([0-9]+).html(?.| .)
RewriteCond %{REQUEST_URI} !/wp-gallery2.php$
RewriteRule . /wp-gallery2.php?g2_view=comment.ShowAllComments&g2_itemId=%1 [QSA,L]
RewriteCond %{THE_REQUEST} /([^?]+)/slideshow.html(?.| .)
RewriteCond %{REQUEST_URI} !/wp-gallery2.php$
RewriteRule . /wp-gallery2.php?g2_view=slideshow.Slideshow&g2_path=%1 [QSA,L]
RewriteCond %{THE_REQUEST} /photo/([^?]+)(?.| .)
RewriteCond %{REQUEST_URI} !/wp-gallery2.php$
RewriteRule . /wp-gallery2.php?g2_path=%1 [QSA,L]
RewriteCond %{THE_REQUEST} /([^?/]+)(?.| .)
RewriteCond %{REQUEST_URI} !/wp-gallery2.php$
RewriteRule . /wp-gallery2.php?g2_view=tags.VirtualAlbum&g2_tagName=%1 [QSA,L]
RewriteCond %{THE_REQUEST} /([^?]+)(?.| .)
RewriteCond %{REQUEST_URI} !/wp-gallery2.php$
RewriteRule . /wp-gallery2.php?g2_controller=permalinks.Redirect&g2_filename=%1 [QSA,L]
</IfModule>
# END Url Rewrite section
#
RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain.com$ [NC]
RewriteRule .* http://www.domain.com/ [L,R=301]
RewriteCond %{THE_REQUEST} ?(ref=.*)? HTTP [NC]
RewriteRule .? http://www.domain.com%{REQUEST_URI}? [R=301,L]
RewriteCond %{THE_REQUEST} ?(referer=.*)? HTTP [NC]
RewriteRule .? http://www.domain.com%{REQUEST_URI}? [R=301,L]
Redirect /x/ http://www.domain.com/y/
Redirect /a/ http://www.domain.com/b/
and this is bbpress .htaccess located on /forum folder, and my bbpress is also located on /forum. And I dont call wordpress from bbpress and I dont call bbpress from wordpress. I use integration method expressed in faq section of bbpress documents. And my setup was working before I moved to the new vps.
<ifmodule mod_rewrite.c>
RewriteEngine On
RewriteBase /forum/
RewriteRule ^forum/([0-9]+)/page/([0-9]+)$ /forum/forum.php?id=$1&page=$2 [L,QSA]
RewriteRule ^forum/([0-9]+)$ /forum/forum.php?id=$1 [L,QSA]
RewriteRule ^topic/([0-9]+)/page/([0-9]+)$ /forum/topic.php?id=$1&page=$2 [L,QSA]
RewriteRule ^topic/([0-9]+)$ /forum/topic.php?id=$1 [L,QSA]
RewriteRule ^tags/(.+)/page/([0-9]+)$ /forum/tags.php?tag=$1&page=$2 [L,QSA]
RewriteRule ^tags/(.+)/?$ /forum/tags.php?tag=$1 [L,QSA]
RewriteRule ^tags/?$ /forum/tags.php [L,QSA]
RewriteRule ^profile/([0-9]+)/page/([0-9]+)$ /forum/profile.php?id=$1&page=$2 [L,QSA]
RewriteRule ^profile/([0-9]+)/([a-z]+)$ /forum/profile.php?id=$1&tab=$2 [L,QSA]
RewriteRule ^profile/([0-9]+)/([a-z]+)/page/([0-9]+)$ /forum/profile.php?id=$1&tab=$2&page=$3 [L,QSA]
RewriteRule ^profile/([0-9]+)$ /forum/profile.php?id=$1 [L,QSA]
RewriteRule ^view/([a-z-]+)/page/([0-9]+)$ /forum/view.php?view=$1&page=$2 [L,QSA]
RewriteRule ^view/([a-z-]+)$ /forum/view.php?view=$1 [L,QSA]
RewriteRule ^rss/$ /forum/rss.php [L,QSA]
RewriteRule ^rss/forum/([0-9]+)$ /forum/rss.php?forum=$1 [L,QSA]
RewriteRule ^rss/topic/([0-9]+)$ /forum/rss.php?topic=$1 [L,QSA]
RewriteRule ^rss/tags/([a-z]+)$ /forum/rss.php?tag=$1 [L,QSA]
RewriteRule ^rss/profile/([0-9]+)$ /forum/rss.php?profile=$1 [L,QSA]
</ifmodule>