我有一个运行ExpressionEngine的主站点,我正试图让YOURLS运行在一个名为"work“的子文件夹中,即:http://foo.com/work/ (缩写为urls ),而EE在根处运行,即:http://foo.com/。请注意,这里没有“www”。
我遇到的问题是,当我使用一个短URL,用户将"www“添加到URI (例如http://www.foo.com/work/123 )时,我会得到如下所示的重定向链:
如果您忽略了URI中的“www”,一切都会正常工作。YOURLS被设置为使用非www,但担心的是,一些用户可能习惯于键入'www‘,因为这些URI被放置在印刷广告上。
根.htaccess文件如下所示:
SetOutputFilter DEFLATE
DirectoryIndex index.php index.html
# BEGIN ExpressionEngine Rewrite
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www.foo.com [NC]
RewriteRule ^(.*)$ http://foo.com/$1 [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !\.(gif|jpe?g|png)$ [NC]
RewriteRule ^(.*)$ /index.php?$1 [NC,L]
</IfModule>
# END ExpressionEngine Rewrite/work/ (YOURLS) .htaccess如下所示:
# BEGIN YOURLS
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /work/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /work/yourls-loader.php [L]
</IfModule>
# END YOURLS如何才能让'www‘URI像非www URI那样工作而不完全使用EE?)
发布于 2016-07-08 21:06:35
我也面临着一个类似的问题。一些终端用户或发布短url的人倾向于添加www,而购买短url的目的是不使用www。
我还安装了YOURLS重定向索引插件,将主页访问者转发到我们的常规主页。
所以我有几种不同类型的urls:
我希望所有urls都能与www一起工作,并确保http被转发到https。
我的解决方案是使用以下行启动.htaccess:
# Force HTTPS (because of passwords via /admin) and use clean domain (non www)
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www.examp.le [NC]
RewriteRule ^(.*)$ https://examp.le/$1 [L,R=301]https://stackoverflow.com/questions/15227507
复制相似问题