我想在我的网站上设置子域名以重定向到引荐链接,并在网上发现 RedirectPermanent 是这样做的方法。我忽略了它的永久部分,我的第一次迭代不起作用。所以我决定回到之前的状态,现在JavaScript文件不会服务器(他们404,甚至没有进入我创建的404页面,只是默认的404)。据我所知,其他一切都正常。
所以这是我的网站配置尝试:
<VirtualHost *:80>
ServerName amazon.gamersplane.com
RedirectPermanent / http://smile.amazon.com/?_encoding=UTF8&camp=1789&creative=9325&linkCode=ur2&tag=gampla0e6-20&linkId=7RQR4I66XH6Z2U4B
</VirtualHost>
<VirtualHost *:80>
ServerName dtrpg.gamersplane.com
RedirectPermanent / http://rpg.drivethrustuff.com/browse.php?affiliate_id=739399
</VirtualHost>
<VirtualHost *:80>
ServerAdmin contact@gamersplane.com
ServerName gamersplane.com
ServerAlias www.gamersplane.com
DocumentRoot /var/www/gamersplane
<Directory /var/www/gamersplane/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/gamersplane/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel notice
CustomLog ${APACHE_LOG_DIR}/gamersplane/access.log combined
</VirtualHost>
前两个虚拟主机是两个新部分。下半部分几乎与以前完全相同,除了在 ServerAlias 中代替www,它是*。
在我的.htaccess中,我使用modrewrite将所有非image / js / css / etc请求定向到一个调度文件:
ErrorDocument 401 errors/401
ErrorDocument 403 errors/403
ErrorDocument 404 errors/404
Options -Indexes +FollowSymLinks
RewriteEngine On
RewriteBase /
#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteCond %{REQUEST_URI} !^(.*)/$
#RewriteRule ^(.*)$ /$1/ [L,R=301]
RewriteCond %{REQUEST_URI} !^/oneRunScripts/
RewriteRule !\.(css|jpg|js|gif|png|ico|eot|woff|ttff|svg|psd)$ dispatch.php