我已经从这里尝试了许多不同的“解决方案”,但它们都没有用。
我有一个域名,我想在mybb目录中重写。
所以: http://www.forumdobengal.com或 http://forumdobengal.com
到
http://www.forumdobengal.com/mybb
但显然我希望这是透明的,这样mybb就不会出现在地址上。
我试过了:
RewriteCond %{HTTP_HOST} ^(www\.)?forumdobengal\.com
RewriteCond %{REQUEST_URI} !^/mybb
Rewriterule ^(.*)$ /forumdobengal/$1 [L]
但这只是显示根文件夹。
我最终使用了这个:
RewriteEngine On 选项+ FollowSymlinks RewriteBase / RewriteCond%{HTTP_HOST} ^ www.forumdobengal。* RewriteCond%{REQUEST_URI}!/ mybb / RewriteRule ^(。*)$ / mybb / $ 1 RewriteCond%{HTTP_HOST} ^ forumdobengal。* RewriteCond%{REQUEST_URI}!/ mybb / RewriteRule ^(。*)$ / mybb / $ 1
这很有用。但是/ mybb中的.htaccess上有一些东西给它一个重定向循环。
这是.htaccess:
的内容Options -MultiViews +FollowSymlinks -Indexes
#
# If mod_security is enabled, attempt to disable it.
# - Note, this will work on the majority of hosts but on
# MediaTemple, it is known to cause random Internal Server
# errors. For MediaTemple, please remove the block below
#
<IfModule mod_security.c>
# Turn off mod_security filtering.
SecFilterEngine Off
# The below probably isn't needed, but better safe than sorry.
SecFilterScanPOST Off
</IfModule>
#
# MyBB "search engine friendly" URL rewrites
# - Note, for these to work with MyBB please make sure you have
# the setting enabled in the Admin CP and you have this file
# named .htaccess
#
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^([^&]*)&(.*)$ http://www.forumdobengal.com/$1?$2 [L,QSA,R=301]
RewriteRule ^forum-([0-9]+)\.html$ forumdisplay.php?fid=$1 [L,QSA]
RewriteRule ^forum-([0-9]+)-page-([0-9]+)\.html$ forumdisplay.php?fid=$1&page=$2 [L,QSA]
RewriteRule ^thread-([0-9]+)\.html$ showthread.php?tid=$1 [L,QSA]
RewriteRule ^thread-([0-9]+)-page-([0-9]+)\.html$ showthread.php?tid=$1&page=$2 [L,QSA]
RewriteRule ^thread-([0-9]+)-lastpost\.html$ showthread.php?tid=$1&action=lastpost [L,QSA]
RewriteRule ^thread-([0-9]+)-nextnewest\.html$ showthread.php?tid=$1&action=nextnewest [L,QSA]
RewriteRule ^thread-([0-9]+)-nextoldest\.html$ showthread.php?tid=$1&action=nextoldest [L,QSA]
RewriteRule ^thread-([0-9]+)-newpost\.html$ showthread.php?tid=$1&action=newpost [L,QSA]
RewriteRule ^thread-([0-9]+)-post-([0-9]+)\.html$ showthread.php?tid=$1&pid=$2 [L,QSA]
RewriteRule ^post-([0-9]+)\.html$ showthread.php?pid=$1 [L,QSA]
RewriteRule ^announcement-([0-9]+)\.html$ announcements.php?aid=$1 [L,QSA]
RewriteRule ^user-([0-9]+)\.html$ member.php?action=profile&uid=$1 [L,QSA]
RewriteRule ^calendar-([0-9]+)\.html$ calendar.php?calendar=$1 [L,QSA]
RewriteRule ^calendar-([0-9]+)-year-([0-9]+)\.html$ calendar.php?action=yearview&calendar=$1&year=$2 [L,QSA]
RewriteRule ^calendar-([0-9]+)-year-([0-9]+)-month-([0-9]+)\.html$ calendar.php?calendar=$1&year=$2&month=$3 [L,QSA]
RewriteRule ^calendar-([0-9]+)-year-([0-9]+)-month-([0-9]+)-day-([0-9]+)\.html$ calendar.php?action=dayview&calendar=$1&year=$2&month=$3&day=$4 [L,QSA]
RewriteRule ^calendar-([0-9]+)-week-(n?[0-9]+)\.html$ calendar.php?action=weekview&calendar=$1&week=$2 [L,QSA]
RewriteRule ^event-([0-9]+)\.html$ calendar.php?action=event&eid=$1 [L,QSA]
RewriteRule ^([^&]*)&(.*)$ http://www.forumdobengal.com/$1?$2 [L,QSA,R=301]
RewriteRule ^sitemap-([^./]+)\.xml$ misc.php?google_seo_sitemap=$1 [L,QSA,NC]
RewriteRule ^Forum-([^./]+)$ forumdisplay.php?google_seo_forum=$1 [L,QSA,NC]
RewriteRule ^Topico-([^./]+)$ showthread.php?google_seo_thread=$1 [L,QSA,NC]
RewriteRule ^Anuncio-([^./]+)$ announcements.php?google_seo_announcement=$1 [L,QSA,NC]
RewriteRule ^Usuario-([^./]+)$ member.php?action=profile&google_seo_user=$1 [L,QSA,NC]
RewriteRule ^Calendario-([^./]+)$ calendar.php?google_seo_calendar=$1 [L,QSA,NC]
RewriteRule ^Evento-([^./]+)$ calendar.php?action=event&google_seo_event=$1 [L,QSA,NC]
#Redirect 301 /mybb/ http://www.forumdobengal.com
RewriteRule ^tag/([^/]+)$ tags.php?tag=$1 [L,QSA]
RewriteRule ^ask/([^/]+)$ tags.php?sear=$1 [L,QSA]
RewriteRule ^tag/([^/]+)/([^-/]+)$ tags.php?tag=$1&page=$2 [L,QSA]
RewriteRule ^tagsitemap.xml$ tags.php?sitemap=1 [L,QSA]
RewriteRule ^tagsitemap-page-([^/]+).xml$ tags.php?sitemap=1&spage=$1 [L,QSA]
RewriteRule ^deletetags=([^/]+)$ tags.php?deltags=$1 [L,QSA]
RewriteRule ^delspectag=([^/]+)&delspectagtid=([^/]+)$ tags.php?delspectag=$1&delspectagtid=$2 [L,QSA]
RewriteRule ^tag/$ tags.php [L,QSA]
<IfModule mod_env.c>
SetEnv SEO_SUPPORT 1
</IfModule>
</IfModule>
#
# If Apache is compiled with built in mod_deflade/GZIP support
# then GZIP Javascript, CSS, HTML and XML so they're sent to
# the client faster.
#
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE application/javascript text/css text/html text/xml
</IfModule>
答案 0 :(得分:4)
这个怎么样
RewriteCond %{HTTP_HOST} ^(www\.)?forumdobengal\.com
RewriteCond %{REQUEST_URI} !^/mybb
Rewriterule ^(.*)$ /mybb/$1 [L]
我认为你正在混合目录路径和URL。您可以查看the documentation以获得更完整的解释。
答案 1 :(得分:0)
请记住,通过这种角色,您的内容将可以通过不同的URL获得,这显然是重复的内容问题!建议每个文档仅使用一个URL,否则您需要规范的说明。如果SEO不是一个因素,并且您的子域是/ public_html /中的目录,则可以将此代码放在/public_html/.htaccess文件中:
RewriteCond %{HTTP_HOST} ^(www\.)?example\.com
RewriteCond %{REQUEST_URI} !^/subdomain
Rewriterule ^(.*)$ /subdomain/$1 [L]