我想让一个更好的链接缩短服务使用你的。我已经采购了一个简短的网址:sly.pe.安装了YOURLS,并且sly.pe/admin可以访问www.example.com。
我还想使用WordPress来支持大多数面向消费者的网站,网址为:我的想法是,我希望用户使用WordPress和一个注册插件(如OneAll social)来注册这个网站。一旦通过身份验证,他们就可以同时登录YOURLS和WordPress,并被重定向到一个URL(如sly.pe/home),该URL使用WordPress作为网站,但YOURLS(该用户的sly.pe/admin)是嵌入式的,可以通过某种方式访问。
这两个服务都对.htaccess进行了修改。如果我保持文件不变,除了www.example.com,我似乎不能有任何其他的WordPress URLsly.pe,但是YOURLS工作正常。如果我注解掉一些YOURLS代码,WordPress可以使用其他目录,但是YOURLS不工作。我如何才能让两者很好地共存?或者至少定义我想要的WordPress URL并让它们工作?
(注解掉你的代码可以让WordPress工作,但会破坏你的代码):.htaccess
:
# BEGIN YOURLS
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ /yourls-loader.php [L]
</IfModule>
# END YOURLS
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
5条答案
按热度按时间ycggw6v21#
我能够让你的工作与WordPress的。这是我是如何做到的...
我已经将您的URL放在niemannross.com/links中,所以对我来说,重定向看起来像http://niemannross.com/link/rlunchlessons
在您的WordPress副本中安装John Godley的Redirection插件。
查看管理工具重定向。顶部有几个标签。你应该看到重定向|群组|记录档|404秒|导入/导出|选项|支持。
选择重定向
选择添加新重定向
来源URL:/link/.*-选取正则表达式。
目标URL:**教育部部长
组:任何有意义的在你的设置。我已经选择了wordpress:重定向
这适用于我的安装。
qyswt5oh2#
简单的回答是:WordPress和YOURLS(please,YOURLS,not YourLS)都需要处理服务器请求才能返回预期结果(例如,当请求
http://sho.rt/blah
时,每个应用程序都需要检查blah
是否是它管理的内容)道长回答:您不应该这样做,原因如下。
基本上,您需要在以下情况下工作:
blah
是WP文章,但不是您的短URLblah
是您的简短URL,但不是WP文章blah
既不是WP文章,也不是您的短URLblah
既是WP文章又是YOURLS短URL时,可选择决定如何处理您的代码还需要:
你需要在WP区和YOURLS区都有代码。
底线:很多边缘情况需要处理。在某些情况下对你有用的东西在其他情况下可能不起作用,对你自己或与其他人。
g2ieeal73#
我认为你将不得不工作的问题所提到的@Ozh,但这里有一个插件,将使它更容易为您的WordPress用户使用您的URL:https://wordpress.org/plugins/yourls-link-creator/
3vpjnl9f4#
你不能,我尝试了不同的方法,也许与新的apache 2.4使用的
if else
语句,你会,但我不是一个Maven,在这些命令,我想分享我做了什么,有缩短选项在根页面和html网站在一个子目录中,与此解决方案,你仍然可以给予人们正常的网址为网站(如sho.rt):将您的网站设置在根目录下的文件夹中,名称为“w",这意味着它将位于“sho.rt/w”
那么使用这个.htaccess
如果用户没有在url中传递任何子文件夹,这将给予你选择仍然使用sho.rt作为你的网站地址,但如果他们这样做了,它将首先检查你的文件夹,如果没有找到,则转到你的文件夹。
还有一件事,不要忘记在**/user/config.php**(您的配置文件)的**$yourls_reserved_URL**数组中添加“w”
ffdz8vbo5#
我终于为我的网站解决了这个问题。
我有一个子域http://sub.domain,我在其中安装了 YOURLS,但短URL位于http://domain/someshortlink
wordpress网站也在http://domain/
它曾经和swap插件(https://github.com/gerbz/Yourls-Swap-Short-Url)一起工作。只是和 YOURLS 插件提供的
htaccess
一起工作,没有wordpress。但是自从我决定转移到wordpress,这个组合就不起作用了。诀窍如下:
1.在你的
htaccess
上,保持简单,就像wordpress希望的那样。删除 YOURLSswap插件的htaccess
片段,如果你已经添加了它的话。1.编辑您的
404.php
页面主题。我的主题位于:wp-content/themes/twentynine/404.php
在最开始的时候,只是添加:
这将允许:
1.所有文件和目录都将荣誉基本的
htaccess
,它们只是从htaccess
中获得服务1.所有的URL而不是文件和文件夹将由WordPress以通常的方式处理。
1.如果没有找到页面,wordpress将触发
404.php
,404.php
会将该页面发送到 YOURLS 进行尝试1.如果 YOURLS 也找不到,则会显示来自 YOURLS 的404页面。
记住编辑404页面从 YOURLS 也,以配合您的WordPress主题.
祝你好运!
参考:https://github.com/gerbz/Yourls-Swap-Short-Url/issues/11